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 |
谁有空帮我看看代码#include<stdio.h> #include<string.h> #define N 105 int func(char *temp1,char *temp2,char a[][N],int u,int n); char a[N][N],temp1[N],temp2[N]; int len[N],lx,lmin; int main(){ int i,j,k; int p,t,n,u,flag; scanf("%d",&t); while(t--){ memset(a,0,sizeof(a)); memset(temp1,0,sizeof(temp1)); memset(temp2,0,sizeof(temp2)); scanf("%d",&n); for(i=0;i<n;i++){ scanf("%s",a[i]); len[i]=strlen(a[i]); } for(i=1,lmin=len[0],lx=0;i<n;i++) if(len[i]<lmin){ lmin=len[i]; lx=i; } flag=0; for(i=lmin;i>=1;i--){ for(j=0;j+i<=lmin;j++){ u=0; for(k=j;k<j+i;k++) temp1[u++]=a[lx][k]; u=0; for(k=j+i-1;k>=j;k--) temp2[u++]=a[lx][k]; /*printf("%s %s\n",temp1,temp2);*/ if(func(temp1,temp2,a,u,n)==1){ printf("%d\n",u); flag=1; break; } memset(temp1,0,sizeof(temp1)); memset(temp2,0,sizeof(temp2)); } if(flag==1) break; } if(flag==0) printf("%d\n",flag); } return 0; } int func(char *temp1,char *temp2,char a[][N],int u,int n){ int p=0,i=0,j; for(i=0;i<n;i++){ for(j=0;j+u<=strlen(a[i]);j++){ if(!memcmp(temp1,a[i]+j,u)){ p++; break; } else if(!memcmp(temp2,a[i]+j,u)){ p++; break; } } if(p!=i+1) return 0; } return 1; } //谢谢 Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator