1 #include <iostream> 2 #include <string> 3 #define MAXN 500 4 using namespace std; 5 6 bool dp[MAXN][MAXN]; 7 8 int main() 9 { 10 //freopen("acm.acm","r",stdin); 11 int test; 12 string s_1; 13 string s_2; 14 string s_3; 15 int i; 16 int j; 17 int k; 18 int time = 0; 19 cin>>test; 20 while(test --) 21 { 22 cout<<"Data set "<<++ time<<": "; 23 memset(dp,false,sizeof(dp)); 24 cin>>s_1>>s_2>>s_3; 25 dp[0][0] = true; 26 for(i = 0; i <= s_1.length(); ++ i) 27 { 28 for(j = 0; j <= s_2.length(); ++ j) 29 { 30 if(i-1 >= 0 && dp[i-1][j] && s_1[i-1] == s_3[i+j-1]) 31 { 32 // if() 33 { 34 dp[i][j] = true; 35 } 36 } 37 if(j-1 >= 0 && dp[i][j-1] && s_2[j-1] == s_3[i+j-1]) 38 { 39 //if() 40 { 41 dp[i][j] = true; 42 } 43 } 44 } 45 } 46 if(dp[s_1.length()][s_2.length()]) 47 { 48 cout<<"yes"<<endl; 49 } 50 else 51 { 52 cout<<"no"<<endl; 53 } 54 } 55 }
时间: 2024-10-11 12:33:42