String
题目描述
如果一个字符串只含限定的字符集,我们称这个字符串是好的。现在给一个字符串和字符集,请找出好的字符子串的最长长度。
输入
第一行是一个整数T(1≤T≤1000),表示样例的个数。 以后每个样例为两行,第一行是字符串,第二行是字符集。字符串和字符集只含小写英文字母,字符串长度不超过10000,字符集长度不超过26。
输出
每行输出一个样例的结果。
样例输入
2 abcdabc acde abcdabc abcd
样例输出
3 7
#include<stdio.h>
#include<string.h>
int Max(int a,int b)
{
if(a>b)
return a;
else
return b;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
char a[10005]={0};
char b[26]={0};
scanf("%s %s",a,b);
int len1=strlen(a);
int len2=strlen(b);
int stay[26]={0};
int num=0;
int max=0;
for(int i=0;i<len2;i++)
{
stay[b[i]-'a']=1;
}
for(int i=0;i<len1;i++)
{
if(stay[a[i]-'a']==0)
num=0;
else
{
num++;
max=Max(max,num);
}
}
printf("%d\n",max);
}
return 0;
}