标签:turn dice color int from repr spl contest exists
Description
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2, ..., zk > is a subsequence of X if there exists a strictly increasing sequence < i1, i2, ..., ik > of indices of X such that for all j = 1,2,...,k, xij = zj. For example, Z = < a, b, f, c > is a subsequence of X = < a, b, c, f, b, c > with index sequence < 1, 2, 4, 6 >. Given two sequences X and Y the problem is to find the length of the maximum-length common subsequence of X and Y.
Input
Output
Sample Input
abcfbc abfcab
programming contest
abcd mnp
Sample Output
4
2
0
Source
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 using namespace std; 5 char s1[1005],s2[1005]; 6 int l1,l2,dp[1005][1005]; 7 int main(){ 8 while(~scanf("%s%s",s1 + 1,s2 + 1)){//下标从1开始 9 l1 = strlen(s1 + 1); 10 l2 = strlen(s2 + 1); 11 for(int i = 0;i <= l2;i++)//填充第一行 12 dp[0][i] = 0; 13 for(int i = 0;i <= l1;i++)//填充第一列 14 dp[i][0] = 0; 15 for(int i = 1;i <= l1;i++) 16 for(int j = 1;j <= l2;j++){ 17 if(s1[i] == s2[j])//不理解的强烈建议画图看看就明白了 18 dp[i][j] = dp[i - 1][j - 1] + 1; 19 else 20 dp[i][j] = max(dp[i - 1][j],dp[i][j - 1]); 21 } 22 printf("%d\n",dp[l1][l2]); 23 } 24 return 0; 25 }
标签:turn dice color int from repr spl contest exists
原文地址:https://www.cnblogs.com/Luckykid/p/9741961.html