文章
3
粉丝
36
获赞
28
访问
4.1k
题目数据范围很小,可以直接暴力枚举做,时间复杂度O(n^2)
#include<iostream>
#include<cstring>
using namespace std;
const int N = 200;
string s[N];
string h[N];
bool is_pre(string s1, string s2)
{
bool flag = true;
string a, b;
if(s1.size()<s2.size()) a = s1, b = s2;
else a = s2, b = s1;
for(int i=0;i<a.size();i++)
{
if(a[i]!=b[i]){
flag = false;
break;
}
}
return flag;
}
int main()
{
int n;
while(cin>>n)
{
if(n==0) break;
for(int i=0;i<n;i++) cin>>s[i];
h[0] = s[0];
int cnt = 1;
for(int i=1;i<n;i++)
{
bool flag = true;
for(int j=0;j<cnt;j++)
{
if(is_pre(s[i], h[j]))
{
flag = false;
if(s[i].size()>h[j].size()) h[j] = s[i];
break;
}
}...
登录后发布评论
暂无评论,来抢沙发