Link
Http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_ problem&problem=1346
"Original question"
Problem c:longest Common subsequence
Sequence 1:
Sequence 2:
Given two sequences of characters, print the length of the longest common subsequence of both sequences. For example, the longest common subsequence of the following two:
Abcdgh
AEDFHR
is adh of length 3.
Input consists of pairs of lines. The "the" a pair contains the "a" and the second line contains the second string. Each of the A separate line and consists of an at most 1,000 characters
This column more highlights: http://www.bianceng.cn/Programming/sjjg/
For each subsequent pair of input lines, output a line containing one integer number which satisfies the criteria stated a Bove.
Sample input
a1b2c3d4e
zz1yy2xx3ww4vv
abcdgh
aedfhr
abcdefghijklmnopqrstuvwxyz
A0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0
Abcdefghijklmnzyxwvutsrqpo
Opqrstuvwxyzabcdefghijklmn
Output for the sample input
4
3
14
"The main effect of the topic"
Enter two strings to find out how long the longest common child sequence is
"Analysis and Summary"
Longest common child sequence template problem
Code
* * * uva:10405-longest Common subsequence *
time:0.076s
* author:d_double */
#include < iostream>
#include <cstring>
#include <cstdio>
using namespace std;
Char str1[1002],str2[1002];
int d[1002][1002];
int main () {
while (gets (str1) &&gets (str2)) {
int len1=strlen (STR1), Len2=strlen (STR2);
memset (d, 0, sizeof (d));
for (int i=1; i<=len1; ++i) {for
(int j=1; j<=len2; ++j) {
if (str1[i-1]==str2[j-1))
d[i][j] = d[i-1] [J-1]+1;
else
d[i][j] = max (D[i-1][j], d[i][j-1]);
}
printf ("%d\n", D[len1][len2]);
return 0;
}