#include"stdio.h"
#include"string.h"
#define max(a,b) a>b?a:b
int check(char* sub,char *s)
{
char t[2000];
strncpy(t,s,strlen(sub));
t[strlen(sub)]='\0';
return strcmp(t,sub)==0&&strcmp(sub,s)!=0?1:0;
}
int main()
{
char s[2000][1000];
int n;
while(scanf("%d",&n)!=EOF)
{
int i,j;
int dp[2000];
for(i=0;i<n;i++)
scanf("%s",s[i]);
for(i=0;i<n;i++)
dp[i]=1;
int Max=0;
for(i=1;i<n;i++)
{
for(j=0;j<i;j++)
if(check(s[j],s[i]))
dp[i]=max(dp[j]+1,dp[i]);
Max=max(Max,dp[i]);
}
printf("%d\n",Max);
}
}
vijos 1028 LIS
最新推荐文章于 2018-02-11 22:32:10 发布