mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
Create 1501_dp.cpp
This commit is contained in:
parent
a6318e2864
commit
307c718136
59
HDOJ/1501_dp.cpp
Normal file
59
HDOJ/1501_dp.cpp
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
#include <cstdio>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <cstring>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
char a[300];
|
||||||
|
char b[300];
|
||||||
|
char c[700];
|
||||||
|
|
||||||
|
int lena,lenb,lenc;
|
||||||
|
bool dfs(int pos_in_a,int pos_in_b,int pos_in_c)
|
||||||
|
{
|
||||||
|
if(pos_in_a==lena&&pos_in_b==lenb)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(pos_in_a<lena&&a[pos_in_a]==c[pos_in_c]&&dfs(pos_in_a+1,pos_in_b,pos_in_c+1))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(pos_in_b<lenb&&b[pos_in_b]==c[pos_in_c]&&dfs(pos_in_a,pos_in_b+1,pos_in_c+1))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int t;
|
||||||
|
scanf("%d",&t);
|
||||||
|
for(int tt=1;tt<=t;tt++)
|
||||||
|
{
|
||||||
|
scanf("%s %s %s",a,b,c);
|
||||||
|
printf("Data set %d: ",tt);
|
||||||
|
lena=strlen(a);
|
||||||
|
lenb=strlen(b);
|
||||||
|
lenc=strlen(c);
|
||||||
|
if(a[0]!=c[0]&&b[0]!=c[0])
|
||||||
|
{
|
||||||
|
printf("no\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(a[lena-1]!=c[lenc-1]&&b[lenb-1]!=c[lenc-1])
|
||||||
|
{
|
||||||
|
printf("no\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
bool ans=dfs(0,0,0);
|
||||||
|
if(ans)
|
||||||
|
{
|
||||||
|
printf("yes\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("no\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user