最长公共子序列 南工36
来源:互联网 发布:微量氧分析仪 淘宝 编辑:程序博客网 时间:2024/06/05 16:51
题目链接:here~~
比较第一个串s1的第i个字符与串s2的第j个字符是否相等,如果相等:res[i][j]=res[i-1][j-1]+1;(前i个串s1的字符和前j个串s2的字符的最长公共子序列长度=前i-1个串s1的字符和前j-1个串s2的字符的最长公共子序列长度+1);如果不相等:res[i][j]=max(res[i-1][j], res[i][j-1]);(前i个串s1的字符和前j个串s2的字符的最长公共子序列长度=max(前i-1个串s1的字符和前j个串s2的字符的最长公共子序列长度,前i个串s1的字符和前j-1个串s2的字符的最长公共子序列长度))
#include <cstring>#include <cstdio>#include <string.h>#define max(a, b) a>b?a:bint res[1001][1001];char s1[1001], s2[1001];int main(){ int n, i, j, l1,l2; scanf("%d", &n); while (n--) { scanf("%s%s", s1, s2); l1=strlen(s1); l2=strlen(s2); memset(res, 0, sizeof(res)); for (i=1; i<=l1; i++) { for (j=1; j<=l2; j++) { if (s1[i-1]==s2[j-1]) res[i][j]=res[i-1][j-1]+1; else res[i][j]=max(res[i-1][j], res[i][j-1]); } } printf("%d\n", res[l1][l2]); } return 0;}
- 最长公共子序列 南工36
- 36 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列...
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 让你低调的app脱颖而出
- 坑爹的冒泡排序,写傻逼了!
- Linux下LED驱动测试(应用程序)源码
- Fedora硬盘安装Fedora17图文教程
- PHP采集 抓取
- 最长公共子序列 南工36
- 鲜为人知的编程真相
- Java Web技术(init()与init(ServletConfig)的区别)
- TCP segment of a reassembled PDU
- JavaScript中this的使用
- SimpleAdapter 动态加载数据
- extjs-布局 (在column布局中使用fieldset 和 在fieldset中使用column布局)
- 实战物料主数据(MM01/MM02/MM03)屏幕增强
- cocos2d中的anchorPoint