标签:字符串库函数
这道题估计数据比较水,爆搜就能过
从这道题了解到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_JUDGE freopen("in.txt","r",stdin); #endif int 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; }
标签:字符串库函数
原文地址:http://blog.csdn.net/lj94093/article/details/44725747