15HD_OJ——Common Subsequence
2015-06-17 22:15
489 查看
Problem 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-lengthcommon subsequence of X and Y.The program input is from a text file. Each data set in the file contains two strings representing the given sequences. The sequences are separated by any number of white spaces. The input data are correct. For each set of data the program prints on the standardoutput the length of the maximum-length common subsequence from the beginning of a separate line.Sample Input
abcfbc abfcab programming contest abcd mnp
Sample Output
4 2 0
代码:
#include <cstring> #include <cstdlib> #include <cstdio> using namespace std; int max(int a,int b) { return a>b?a:b; } char s1[1005], s2[1005]; int dp[1005][1005]; int main() { int len1, len2; while( scanf( "%s %s", s1, s2 ) != EOF ) { memset( dp, 0, sizeof(dp) ); len1 = strlen( s1 ), len2 = strlen( s2 ); for( int i = 1; i <= len1; ++i ) { for( int j = 1; j <= len2; ++j ) { if( s1[i-1] == s2[j-1] ) { dp[i][j] = dp[i-1][j-1] + 1; } else { dp[i][j] = max ( dp[i-1][j], dp[i][j-1] ); } } } printf( "%d\n", dp[len1][len2] ); } return 0; }[/code]
相关文章推荐
- 【转】android移植之request_suspend_state: wakeup & init: untracked pid xx exited问题的解决
- iOS-UI控件之UIImageView
- poj 1141 Brackets Sequence(区间dp)
- 黑马程序员------判断语句、循环语句及break、continue
- 【嘟嘟工作室】 UEFI GUI 最新界面 duduworks@163.com
- android-UI组件
- Algs4-2.2.2 归并算法为EASYQUESTION排序的轨迹
- UI数据库
- 多线程03-NSOperationQueue(掌握)
- hdoj 1242 Rescue
- UI之UINavigationBar的用法
- 用scrapy框架时,出现问题:ValueError: invalid literal for int() with base 10: 'dev0'
- 初步认识BLE到熟悉,浅谈!
- Children’s Queue(hdu1297+递推)
- uiscrollView更新
- UITextField
- Children’s Queue(递推)
- iOS开发-UITapGestureRecognizer手势
- 再学习 break&continue
- Bluemix云平台实践: 命令行的艺术CF CLI