九度[1042]-Coincidence
来源:互联网 发布:centos nat 配置 编辑:程序博客网 时间:2024/06/06 17:27
九度[1042]-Coincidence
题目描述:
Find a longest common subsequence of two strings.
输入
First and second line of each input case contain two strings of lowercase character a…z. There are no spaces before, inside or after the strings. Lengths of strings do not exceed 100.
输出
For each case, output k – the length of a longest common subsequence in one line.
样例输入
abcd
cxbydz
样例输出
2
解题思路:
动态规划的经典题目:最长公共子序列(LCS)
注意读取的字符串以及对应的长度。
AC代码:
#include <cstdio>#include <cstring>#define max(a,b) a>b?a:b;const int maxn = 110;char dat1[maxn], dat2[maxn];int ans[maxn][maxn];void init(){ for(int i = 0; i < maxn; i++){ for(int j = 0; j < maxn; j++){ ans[i][j] = 0; } }}int main(){ freopen("C:\\Users\\Administrator\\Desktop\\test.txt", "r", stdin); while(scanf("%s%s", dat1+1, dat2+1) != EOF){ init(); int len1 = strlen(dat1+1), len2 = strlen(dat2+1); int cnt1 = 1, cnt2 = 1; for(int i = 1; i <= len1; i++){ for(int j = 1; j <= len2; j++){ if(dat1[i] == dat2[j]){ ans[i][j] = ans[i-1][j-1] + 1; } else ans[i][j] = max(ans[i-1][j], ans[i][j-1]); } } printf("%d\n", ans[len1][len2]); } fclose(stdin); return 0;}
阅读全文
0 0
- 九度1042:Coincidence
- 九度[1042]-Coincidence
- 九度oj-1042-Coincidence
- [九度OJ]1042Coincidence
- 九度oj 题目1042:Coincidence
- 九度 oj 题目1042:Coincidence (LCS)
- 九度OJ-1042:Coincidence(最长公共子序列)
- 九度OJ 1042 Coincidence -- 动态规划(最长公共子序列)
- 九度OJ 1042 Coincidence (动态规划求最长公共子序列)
- 九度OJ 1042:Coincidence(公共子序列) (DP)
- 题目1042:Coincidence
- 题目1042:Coincidence
- 题目1042:Coincidence
- 题目1042:Coincidence
- Coincidence
- Coincidence
- Coincidence
- 题目1042:Coincidence(最长公共子序列)
- 二叉树遍历算法(递归实现先序中序和后续遍历)(非递归实现中序和先续)
- iOS学习笔记-126.SDWebImage2——显示gif图片
- 一个员工都不想招,我还能创业成功吗?
- 数据库的脏读、不可重复读、幻读以及不可重复读和幻读的区别
- THREE.Euler()欧拉角
- 九度[1042]-Coincidence
- DL&ML基础学习一
- [codeforces] 854C. Planning(优先队列)
- 使用python操作mysql数据库
- 机器学习简介 | GAIR大讲堂
- 笔记7 | 淡入淡出动画TransitionDrawable
- CSS垂直水平居中8种方法
- web应用国际化
- 合法括号子段