uva 10405 Longest Common Subsequence(最长公共子序列)
2015-08-09 14:31
495 查看
经典的最长公共子序列问题,我刚开始用string敲的,就是为了练练手,没想到竟然wa了,还以为我用错了呢。。。换了字符数还是wa。。。真无语,这么简单的题快把我弄糊涂了,后来听人说是输入可能有空格。。。这是巨坑啊,题上都没说清楚,白白wa了几发。。。就是设一个数组d[i][j]遍历两个字符数组当a[i]==b[j]的时候d[i][j]=d[i-1][j-1]+1。不相等的时候就是d[i][j]=max(d[i-1][j],d[i][j-1])。别忘了初始化。真坑
代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<vector>
#include<set>
#include<string>
#include<algorithm>
using namespace std;
int d[1005][1005];
int main()
{
string a,b;
int i,j;
while(getline(cin,a),getline(cin,b))
{
//for(i=0; i<=max(a.size(),b.size()); i++)
// d[0][i] = d[i][0] = 0;
memset(d,0,sizeof(d));
for(i=1; i<=a.size(); i++)
for(j=1; j<=b.size(); j++)
{
if(a[i-1] == b[j-1])
{
d[i][j] = d[i-1][j-1]+1;
}
else
{
d[i][j] = max(d[i-1][j],d[i][j-1]);
}
}
cout << d[a.size()][b.size()] << endl;
a.clear();
b.clear();
}
return 0;
}
代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<vector>
#include<set>
#include<string>
#include<algorithm>
using namespace std;
int d[1005][1005];
int main()
{
string a,b;
int i,j;
while(getline(cin,a),getline(cin,b))
{
//for(i=0; i<=max(a.size(),b.size()); i++)
// d[0][i] = d[i][0] = 0;
memset(d,0,sizeof(d));
for(i=1; i<=a.size(); i++)
for(j=1; j<=b.size(); j++)
{
if(a[i-1] == b[j-1])
{
d[i][j] = d[i-1][j-1]+1;
}
else
{
d[i][j] = max(d[i-1][j],d[i][j-1]);
}
}
cout << d[a.size()][b.size()] << endl;
a.clear();
b.clear();
}
return 0;
}
相关文章推荐
- UI04_UITouch(视图随手移动效果)
- UIImageView 使图片圆形的方法
- UVa - 424 Integer Inquiry
- easyui的datagrid使用以及分页
- easyui的dnd插件实现datagrid行拖拽
- MySQL中的UUID
- UE4发报机-关卡蓝图调用蓝图类的发报机
- hdu3530Subsequence rmq
- Chrome开发工具Network没有显示完整的http request和response对话
- GameBuilder见缝插针游戏开发系列(AA)
- 黑马程序员——Java GUI(图形用户界面)
- 对于用js获取元素的css样式属性(getComputedStyle,currentStyle,style)(getPropertyValue,getAttribute)
- Arduino 软重启 软件reset
- POJ 3368 Frequent values
- UIImageView和UIImage
- UITextField
- 系统签名 sharedUserId android.uid.system
- UILabel
- UIWindow
- Xcode5 创建模板和UIView 关联XIB