POJ 2192 Zipper
2014-05-20 23:48
204 查看
大体题意: 先输入试验次数num,再输入三个字符串A,B,C,判断C可否由A,B按照某种次序组成。如下图。
一次百度的面试题。
一次百度的面试题。
#include <cstdio> #include <cstring> using namespace std; #define MAX_SIZE 205 char A[MAX_SIZE]; char B[MAX_SIZE]; char C[2 * MAX_SIZE]; bool dp[MAX_SIZE][MAX_SIZE]; int main() { int num; scanf("%d", &num); for( int i = 1; i <= num; ++i ){ scanf("%s %s %s", A, B, C); memset( dp, false, sizeof( dp ) ); int len_a = strlen( A ); int len_b = strlen( B ); dp[0][0] = true; for( int a = 0; a <= len_a; ++a ){ for( int b = 0; b <= len_b; ++b ){ if( a > 0 && dp[a - 1][b] && C[a + b - 1] == A[a - 1] ) dp[a][b] = true; if( b > 0 && dp[a][b - 1] && C[a + b - 1] == B[b - 1] ) dp[a][b] = true; } } printf("Data set %d: %s\n", i, dp[len_a][len_b] ? "yes" : "no"); } return 0; }
相关文章推荐
- poj 2192 Zipper (LCS)
- poj 2192 Zipper
- POJ 2192 Zipper(判断第3个字符串能否有前两个字符串组成) 水dp
- TOJ 3445 POJ 2192 Zipper
- HDU 1501 & POJ 2192 Zipper(dp记忆化搜索)
- (字符串模式匹配4.7.10)POJ 2192 Zipper(判断第3个字符串能否有前两个字符串组成)
- POJ 2192 判断两个字符串是否能按顺序组合成第三个字符串 ZIPPER
- POJ 2192 Zipper
- poj 2192 Zipper
- POJ 2192 Zipper [dfs+剪枝 || dp]
- [简单DP] POJ 2192 Zipper
- POJ 2192 判断两个字符串是否能按顺序组合成第三个字符串 ZIPPER
- POJ 2192 Zipper (DFS / DP)
- poj 2192 Zipper (DP)
- poj2192——Zipper(动态规划)
- POJ 2192 Zipper
- poj 2192 Zipper
- POJ 2192 Zipper
- Zipper poj 2192
- poj_2192Zipper