lj94093的专栏

这道题估计数据比较水,,爆搜就能过

从这道题了解到strstr在随机数据的时候比kmp快。。。。正所谓KMP是一种很好的思想,但不实用

接下来就是了解了一些c里的库函数,一开始找不到求子串的函数,写完后才找到strncpy这个函数可以求子串

还有一点要注意的就是得到第一个结果的时候本来可以直接跳出的,但直接跳出的时候可能会碰到一些特殊数据,所以还是用个max记录最大的长度吧。。(这里WA了好多次)

#include<stdio.h>#include<algorithm> #include<string>#include<string.h>using namespace std;char s[105][105];int main(){#ifndef ONLINE_JUDGEfreopen("in.txt","r",stdin);#endifint T,n;scanf("%d",&T);while(T–){scanf("%d",&n);int min=0;for(int i=0;i<n;i++) {scanf("%s",s[i]);if(strlen(s[i])<strlen(s[min])) {min=i;}}char s1[105];char s2[105];int max=0;for(int i=strlen(s[min]);i>=1;i–){//长度int flag=1;for(int j=0;j<strlen(s[min])-i+1;j++){//起始位置int k,l;for(k=j,l=0;k<i+j;k++) s2[l++]=s[min][k];s2[l]='\0';strcpy(s1,s2);//正reverse(s2,s2+i);//反flag=1;for(k=0;k<n;k++){if(k==min) continue;if(strstr(s[k],s1)==NULL&&(strstr(s[k],s2)==NULL)) {flag=0;break;}}if(flag==1&&max<i) {max=i;break;}}}printf("%d\n",max);}return 0;}

想起那座山,那个城,那些人……

lj94093的专栏

相关文章:

你感兴趣的文章:

标签云: