PAT程序设计考题——甲级1045 (最长公共子序列) C++实现
来源:互联网 发布:ubuntu mate 树莓派 编辑:程序博客网 时间:2024/05/29 15:13
to PAT
#include<iostream>
#include<algorithm>
#include<map>
#include<string>
#include<vector>
const int maxn=10010;
const int maxc=210;
using namespace std;
int main(){int color;
scanf("%d",&color);
int k;
int n;
int aorder[10010],border[10010];
scanf("%d",&n);
for(int i=1;i<=n;i++){//please think the question why we store the vector from 1
scanf("%d",&border[i]);
}
scanf("%d",&k);
for(int i=1;i<=k;i++)
scanf("%d",&aorder[i]);
vector<int> temp(n+1);
vector<vector<int> > lcs(k+1,temp);
for(int i=0;i<=k;i++)
lcs[i][0]=0;
for(int i=0;i<=n;i++)
lcs[0][i]=0;
for(int i=1;i<=k;i++)
for(int j=1;j<=n;j++)
{ int max1=max(lcs[i-1][j],lcs[i][j-1]);
if(aorder[i]==border[j])
{lcs[i][j]=max1+1;
}
else{
lcs[i][j]=max1;
}
}
cout<<lcs[k][n];
return 0;
}
- PAT程序设计考题——甲级1045 (最长公共子序列) C++实现
- PAT程序设计考题——甲级1045 (最长不下降子序列) C++实现
- PAT程序设计考题——甲级1007 (最大连续子序列和) C++实现
- PAT程序设计考题——甲级1007 (最大连续子序列和)
- PAT程序设计考题——甲级1040 (最长回文串) C++实现
- PAT程序设计考题——甲级1065( A+B and C (64bit) ) C++实现
- PAT程序设计考题——甲级1068 (背包问题) C++实现
- PAT程序设计考题——甲级1042(洗牌机) C++实现
- PAT程序设计考题——甲级1046(循环最短距离) C++实现
- PAT程序设计考题——甲级1001( A+B Format ) C++实现
- PAT程序设计考题——甲级1002(A+B for Polynomials ) C++实现
- PAT程序设计考题——甲级1005( Spell It Right ) C++实现
- PAT程序设计考题——甲级1057( stock 分块查询) C++实现
- PAT程序设计考题——甲级1008( elevator) C++实现
- PAT程序设计考题——甲级1017(Queueing at Bank ) C++实现
- PAT程序设计考题——甲级1014( Waiting in Line ) C++实现
- PAT程序设计考题——甲级1098(Insertion or Heap Sort ) C++实现
- PAT程序设计考题——甲级1107( Social clusters并查集) C++实现
- MySQL多张表关联查询
- 达夫设备 JavaScript
- C语言的命令行参数
- [leetcode]: 581. Shortest Unsorted Continuous Subarray
- POJ 3259Wormholes
- PAT程序设计考题——甲级1045 (最长公共子序列) C++实现
- 单个工程连接多个数据库的俩种方式
- 关于一个内存泄露的问题
- Binder和AIDL之间的关系
- 大话设计模式——》用java代码实现
- redis windows下的环境搭建
- Mockito InjectMocks字段无法注入其他InjectMocks字段的解决办法
- NODE属性说明
- 第一篇