POJ2250(compromise) 解题报告
来源:互联网 发布:如何接淘宝抠图的单子 编辑:程序博客网 时间:2024/04/28 10:55
#include<iostream>#include<cstdio>#include<cstdlib>#include<string>#include<cstring>#include<cstdio>#include<vector>using namespace std;class DD{public:int count;string s;DD();};DD::DD(){count = 0;s = "";}vector<string> v1, v2;int main(){string str;bool k;while(cin >> str){v1.push_back(str);DD f[2][201];while(cin >> str && str.compare("#"))v1.push_back(str);while(cin >> str && str.compare("#"))v2.push_back(str);k = 0;for(int i = 1; i <= v1.size(); ++i){for(int j = 1; j <= v2.size(); ++j){if(v1[i - 1].compare(v2[j - 1])){if(f[k ^ 1][j].count > f[k][j - 1].count)f[k][j].count = f[k ^ 1][j].count, f[k][j].s = f[k ^ 1][j].s;elsef[k][j].count = f[k][j - 1].count, f[k][j].s = f[k][j - 1].s;}else{f[k][j].count = f[k ^ 1][j - 1].count + 1;if(f[k ^ 1][j - 1].s.size()) f[k][j].s = f[k ^ 1][j - 1].s + " " + v1[i - 1];elsef[k][j].s = v1[i - 1];}}k ^= 1;}if(f[0][v2.size()].count > f[1][v2.size()].count) cout << f[0][v2.size()].s << endl;elsecout << f[1][v2.size()].s << endl;v1.clear();v2.clear();}return 0;}
题目大意:
题目是一道经典的动归题。是最长公共子序列的一种延伸吧。
给你两篇文章,两篇文章都以#结束。并且文章中只会出现小写字母不存在符号,每个单词由空格隔开。问你两个句子的最长公共单词有多少个。
A了以后去看解题报告发现人家的代码都是通过记录路径来完成的,而我直接把每次的最长公共子序列用string记录了下来,然后还是用动态规划的思想进行更新,下面直接上代码。
- POJ2250(compromise) 解题报告
- poj2250 - Compromise
- POJ2250:Compromise(LCS)
- POJ2250 Compromise,map、dp
- POJ2250:Compromise(LCS)
- POJ2250——Compromise
- POJ2250 Compromise(dp)
- POJ2250 Compromise (LCS)
- POJ2250 Compromise (LCS)
- pku1015 Jury Compromise解题报告
- 1015 Jury Compromise 解题报告
- 【POJ2250】Compromise (最长公共子序列,DP)
- POJ2250 & UVA 531 Compromise(字符串、 最长公共子序列)
- poj2250 Compromise dp lcs 记录路径
- POJ2250 Compromise DP最长公共子序列
- Pku acm 2250 Compromise 动态规划题目解题报告(六)
- POJ2250---Compromise(dp,最长公共子序列,输出路径)
- poj2250
- 如何用ajax实现三级联动
- OpenGL---GLUT键盘控制 .
- 《计算器的设计——VB》
- 修改root密码时报错: #1045 - Access denied for user 'root'@'localhost' (using password: NO)
- windows 无法启动svnservice 服务 1053
- POJ2250(compromise) 解题报告
- 如何判断iphone4、iphone4s、iphone5、iPad、iPad retina
- 面试时最漂亮的回答 哈哈 大家来看看
- myeclipse之web项目的部署(发布)流程
- 黑马程序员_多线程(5) 同步工具类&空中网面试题
- 计算两点之间的距离
- 三级联动 做出来了 高兴ing
- 一天一个设计模式(5):中介者模式
- Android使用AttributeSet自定义控件的方法