| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
麻痹比,必须把最小的一个串放在第0个数组里面#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<string>
#include<cmath>
#include<vector>
#include<list>
#include<stack>
#include<queue>
#include<map>
#include<set>
#pragma comment(linker,"/STACK:102400000,102400000")
#define lowbit(i) (i) & (-i)
#define LL long long
#define sqr(a) ((a)*(a))
#define MOD 1000000007
#define lson(step) step<<1
#define rson(step) step<<1|1
#define mem(a,b) memset(a,b,sizeof(a))
#define Min(a,b) ((a)<(b)?(a):(b))
#define Max(a,b) ((a)>(b)?(a):(b))
using namespace std;
const int INF=0x3f3f3f3f;
const int M=1000+5;
char s[M][M],word[M];;
int Next[M];
void getnext(char ss[])
{
int i=0,j=-1,l=strlen(ss);
Next[0]=-1;
while(i<l)
{
if(j==-1||ss[i]==ss[j])
i++,j++,Next[i]=j;
else
j=Next[j];
}
}
int KMP(char str1[],char str2[])
{
int i=0,j=0,l1=strlen(str1),l2=strlen(str2);
if(l1>l2)
return 0;
while(i<l2)
{
if(j==-1||str1[j]==str2[i])
i++,j++;
else
j=Next[j];
if(j==l1)
return 1;
}
return 0;
}
int main()
{
int T,n;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
memset(s,0,sizeof(s));
scanf("%s",s[0]);
char ppp[M],I=0,LLL=strlen(s[0]);
strcpy(ppp,s[0]);
for(int i=1;i<n;i++)
{
scanf("%s",s[i]);
if(LLL>strlen(s[i]))
{
strcpy(ppp,s[i]);
LLL=strlen(s[i]);
I=i;
}
}
strcpy(s[I],s[0]);
strcpy(s[0],ppp);
int l=strlen(s[0]);
int num=0;
for(int i=1;i<=l;i++)
{
int Mark=0;
for(int j=0;i+j<=l;j++)
{
strncpy(word,s[0]+j,i);
word[i]='\0';
char qw[M];
int L=strlen(word);
for(int tt=0,t=L-1;t>=0;t--)
qw[tt++]=word[t];
qw[L]='\0';
int mark=0;
memset(Next,0,sizeof(Next));
getnext(word);
for(int t=1;t<n;t++)
if(!KMP(word,s[t])&&!KMP(qw,s[t]))
{
mark=1;
break;
}
if(mark==0)
{
num=i;
Mark=1;
break;
}
}
if(!Mark)
break;
}
printf("%d\n",num);
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator