mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
43 lines
996 B
C++
43 lines
996 B
C++
#include <cstdio>
|
||
#include <cstring>
|
||
//#define LOCAL
|
||
using namespace std;
|
||
|
||
const int MAXN=205;
|
||
|
||
char a[MAXN],b[MAXN],all[2*MAXN-5];
|
||
int lenA,lenB,lenAll;
|
||
|
||
bool DFS(int posA,int posB,int posAll) {
|
||
if(posA==lenA&&posB==lenB)
|
||
return true;
|
||
if(posA<lenA&&a[posA]==all[posAll]&&DFS(posA+1,posB,posAll+1))
|
||
return true;
|
||
if(posB<lenB&&b[posB]==all[posAll]&&DFS(posA,posB+1,posAll+1))
|
||
return true;
|
||
return false;
|
||
}
|
||
|
||
int main()
|
||
{
|
||
#ifdef LOCAL
|
||
freopen("in.txt","r",stdin);
|
||
//freopen("out.txt","w",stdout);
|
||
#endif
|
||
int T,cnt=0;
|
||
scanf("%d",&T);
|
||
while(T--) {
|
||
printf("Data set %d: ",++cnt);
|
||
scanf("%s%s%s",a,b,all);
|
||
lenA=strlen(a);
|
||
lenB=strlen(b);
|
||
lenAll=strlen(all);
|
||
if((all[0]!=a[0]&&all[0]!=b[0])||(all[lenAll-1]!=a[lenA-1]&&all[lenAll-1]!=b[lenB-1])) {//剪枝,不加上就会TLE
|
||
printf("no\n");
|
||
continue;
|
||
}
|
||
printf("%s\n",DFS(0,0,0)?"yes":"no");
|
||
}
|
||
return 0;
|
||
}
|