UVA 111 History Grading
2014-05-18 19:36
441 查看
最近学校开始DP专题,弱渣还是零基础,先从UVA开始练练再刷专题把
#include <map> #include <set> #include <list> #include <cmath> #include<cctype> #include <ctime> #include <deque> #include <stack> #include <queue> #include <cstdio> #include <string> #include <vector> #include <cstdlib> #include <cstring> #include <iostream> #include <algorithm> #define LL long long #define PI 3.1415926535897932626 using namespace std; int gcd(int a, int b) { return a % b == 0 ? b : gcd(b, a % b); } int res[30],order[30],dp[30][30]; int main() { int n;int tmp; scanf("%d",&n); for (int i=0;i<n;i++) { scanf("%d",&tmp); order[tmp]=i+1;//´æ´¢Ë³Ðò } while (scanf("%d",&tmp)!=EOF) { int cas=1; res[tmp]=cas++; for (int i=1;i<n;i++) { scanf("%d",&tmp); res[tmp]=cas++; } //for (int i=1;i<=n;i++) printf("%d ",order[i]);putchar('\n'); //for (int i=1;i<=n;i++) printf("%d ",res[i]);putchar('\n'); memset(dp,0,sizeof(dp)); for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) { if (order[i]==res[j]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } printf("%d\n",dp ); } return 0; }
相关文章推荐
- 【解题报告】uva111_History Grading(历史考试, dp, LCS)
- History Grading(uva 111)
- UVA 111 - History Grading
- uva 111 History Grading 最长公共子序列
- uva 111 A - History Grading
- Uva 111-History Grading(DP/LCS)
- (DP6.1.4.1)UVA 111 History Grading(最长递增子序列LIS 的LCS 解法)
- UVa 111 - History Grading
- Uva - 111 - History Grading
- uva 111 History Grading(最长公共子序列)
- UVaOJ111 - History Grading
- UVa 111 - History Grading
- 【DP】UVA 111 History Grading
- uva111 - History Grading (最长公共子序列)
- Uva - 111 - History Grading
- UVA - 111 History Grading(LCS最长公共子序列)
- uva111 History Grading
- 【DP】UVA 111 History Grading
- Uva 111 – History Grading
- UVA 111 History Grading