#include <iostream>
#include <climits>
#include <cmath>
#include <algorithm>
#include <iomanip>
#include <vector>
#define inf 0x7fffffff
#define MOD 1000000007
using namespace std;
char s1[110], s2[110], s3[220];
bool dp[110][110];
int main() {
while(gets(s1+1)) {
gets(s2+1);
gets(s3+1);
int l1 = strlen(s1+1);
int l2 = strlen(s2+1);
int l3 = strlen(s3+1);
if(l1+l2 != l3) {
printf("NO\n");
} else {
fill_n(&dp[0][0], sizeof(dp)/sizeof(dp[0][0]), false);
dp[0][0] = true;
int i, j, k;
for(i=0; i<=l1; i++) {
for(j=0; j<=l2; j++) {
if(i > 0 && s1[i] == s3[i+j]) {
dp[i][j] = dp[i-1][j];
}
if(j > 0 && s2[j] == s3[i+j]) {
dp[i][j] = (dp[i][j] || dp[i][j-1]);
}
}
}
if(dp[l1][l2])
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
}
交替字符串
最新推荐文章于 2018-03-08 11:18:05 发布