#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 10010
int MAX_namber(char *a)
{
int i,j,k,max;
int b[10000];
k=strlen(a);
for(i=k;i>=0; i--) //for(i=0;i<k;i++)
//for(j=0;j<i; j++)
{ //从前向后和从后向前
b[i]=1;
for(j=i+1;j<k; j++)
{
if(a[i]<a[j]&&b[j]+1>=b[i])
b[i]=b[j]+1; //记录当前元素的最长子序列
}
}
max=0;
for(i=0; i<k;i++)
if(max<=b[i])max=b[i];
return max;
}
int main()
{
char a[MAX];
int N;
scanf("%d",&N);
getchar();
while(N--)
{
gets(a);
if(N)printf("%d\n",MAX_namber(a));
else printf("%d",MAX_namber(a));
}
system("pause");
return 0;
}
点击打开链接