hiho 1344

来源:互联网 发布:mac视频截取gif软件 编辑:程序博客网 时间:2024/05/18 01:21

题意:给一字符串中,任意单词间没有公共相同的字母,求满足这样的单词的最大个数。

解析:贪心+暴力(可以用DFS)

#include<cstdio>#include<cstring>#include<string>#include<iostream>#include<algorithm>using namespace std;const int maxn=1009;string s[maxn];int vis[maxn];int main(){    int n;    while(scanf("%d",&n)!=EOF)    {        for(int i=0;i<n;i++)         cin>>s[i];        sort(s,s+n);        for(int i=0;i<n;i++)        cout<<s[i]<<endl;        int max=-1;        for(int i=0;i<n;i++)          {              memset(vis,0,sizeof(vis));              cout<<s[i]<<"  ";              for(int l=0;l<s[i].length();l++)              vis[s[i][l]]=1;              int cnt=1;              for(int j=0;j<n;j++)              {                  int k;                  int len=s[j].length();                  int flag=0;                   for(k=0;k<len;k++)                   {                       if(vis[s[j][k]])                        {                            flag=1;                            break;                        }                   }                   if(flag==0)                   {cnt++;                 cout<<" "<<s[i];                    for(int f=0;f<s[j].length();f++)                    vis[s[j][f]]=1;                   }              }              printf("\n");              if(max<cnt)              max=cnt;          }          printf("%d\n",max);    }    return 0;}



0 0
原创粉丝点击