九度OJ 1042:Coincidence(公共子序列) (DP)
2015-10-18 18:00
330 查看
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2303
解决:1241
题目描述:
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.
样例输入:
样例输出:
来源:2008年上海交通大学计算机研究生机试真题
思路:
动态规划,分别设置两个指针,分别从头到尾搜索两个数组,最后得到的就是最大值。
动态规划的关键方程是:
代码:
内存限制:32 兆
特殊判题:否
提交:2303
解决:1241
题目描述:
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
来源:2008年上海交通大学计算机研究生机试真题
思路:
动态规划,分别设置两个指针,分别从头到尾搜索两个数组,最后得到的就是最大值。
动态规划的关键方程是:
代码:
#include <stdio.h> #include <string.h> #define N 100 #define max(a, b) (((a)>(b)) ? (a) : (b)) int main(void) { int na, nb, i, j; char a[N+1], b[N+1]; int res[N+1][N+1]; while (scanf("%s%s", a, b) != EOF) { na = strlen(a); nb = strlen(b); memset(res, 0, sizeof(res)); for (i=0; i<na; i++) { for (j=0; j<nb; j++) { if (a[i] == b[j]) res[i+1][j+1] = res[i][j]+1; else res[i+1][j+1] = max(res[i+1][j], res[i][j+1]); } } /* for (i=1; i<=na; i++) { for (j=1; j<=nb; j++) { printf("%d ", res[i][j]); } printf("\n"); } */ printf("%d\n", res[na][nb]); } return 0; } /************************************************************** Problem: 1042 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:912 kb ****************************************************************/
相关文章推荐
- 信息安全系统设计基础第六周学习总结
- 九度OJ 1042:Coincidence(公共子序列) (DP)
- POJ 3250:Bad Hair Day 好玩的单调栈
- POJ 1631 Bridging signals(LIS 二分法 高速方法)
- google之gflags
- POJ 3250:Bad Hair Day 好玩的单调栈
- 计算php程序的执行时间
- 黑马程序员——OC学习笔记04 核心语法
- c# 窗体编程注意事项
- 九度OJ 1041:Simple Sorting(简单排序) (排序)
- Delphi系统变量:IsMultiThread对MM的影响
- 九度OJ 1041:Simple Sorting(简单排序) (排序)
- 服务器和前台采用JSON通讯
- Eclipse背景颜色修改
- linux杂记
- KMP详解
- cocos2d clipboard
- PHP实现归并排序(合并排序)--算法原理分析
- 全面解析Linux数字文件权限
- ##S3C2440串口##