文章
3
粉丝
370
获赞
6
访问
27.4k
细节比较烦,调了好久
关键是要留长的,不能留短的
#include <bits/stdc++.h>
using namespace std;
int main()
{
map<string ,int > m;
int n;
while(cin>>n)
{
if(n==0)break;
string s0;
cin>>s0;
m[s0]=1;
n--;
while(n--)
{
string s;
cin>>s;
for(map<string ,int >::iterator it=m.begin();it!=m.end();it++)
{ if(it->second==0)continue;
string s2=it->first;
if(s==s2)continue;
else if(s.length()>s2.length())//下面是保留长的代码串,删去短的
{
//cout<<s.find(s2)<<endl;
if(s.find(s2)==0)
{
m[s2]=0;
m[s]=1;
break;
}
else m[s]=1;
}
else
{ // cout<<s2.find(s)<<endl;
if(s2.find(s)==0)
{
m[s]=0;
...
登录后发布评论
暂无评论,来抢沙发