//poj3302 判断str2或者其逆是否str1的非连续字串 注意memset的使用
#include <iostream>
#include <algorithm>
#include <string>
#include <iomanip>
using namespace std;
bool deal(string a, string b)
{
int j = 0;
for(int i = 0; i < a.length(); i++)
{
if(b[j] == a[i])
j++;
}
if(j == b.length())
return true;
else
return false;
}
int main()
{
int n;
cin>>n;
char a[10000];
char b[105];
char c[10000];
for(int i = 0; i < n; i++)
{
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
cin>>a;
cin>>b;
if(strlen(a) < strlen(b))
cout<<"NO"<<endl;
else{
for(int i = 1; i <= strlen(a); i++)
c[i-1] = a[strlen(a) - i];
bool ok = deal(a, b);
bool ok2 = deal(c, b);
if(ok || ok2)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return 0;
}
poj3302
最新推荐文章于 2020-12-02 19:18:43 发布