poj 3080

来源:互联网 发布:python 日期格式 编辑:程序博客网 时间:2024/06/14 03:47

虽然说很简单,但我犯了很多错

第一个错是应该从1开始枚举,不小心写成了2;

第二错是strstr是看后面是前面的子集;

第三个错是没有清空s;

代码如下

#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;char a[15][65];char s[65],temp[65];int main() {int t;scanf("%d",&t);while(t--){memset(s,0,sizeof(s));int m;scanf("%d",&m);for(int i=0;i<m;i++)scanf("%s",a[i]); int l=60,t=0;while(l){for(int i=0;i<=60-l;i++){int len=0;for(int j=i;;j++){temp[len++]=a[0][j];if(len==l) break;}temp[l]='\0';bool flag=true;for(int j=1;j<m;j++){if(!strstr(a[j],temp)){flag=false;break;}} if(flag){if(t==1){if(strcmp(s,temp)>0){strcpy(s,temp);}}if(t==0){strcpy(s,temp);t=1;}}}if(strlen(s)>0) break;l--;}if(strlen(s)>=3) printf("%s\n",s);else printf("no significant commonalities\n");}}

原创粉丝点击