poj 2287 Tian Ji -- The Horse Racing
来源:互联网 发布:免费手机文档编辑软件 编辑:程序博客网 时间:2024/05/21 17:31
题目链接:http://poj.org/problem?id=2287
题目大意:田忌赛马。
题目思路:
Ø 1、如果田忌剩下的马中最强的马都赢不了齐王剩下的最强的马,那么应该用最差的一匹马去输给齐王最强的马。
Ø 2、如果田忌剩下的马中最强的马可以赢齐王剩下的最强的马,那就用这匹马去赢齐王剩下的最强的马。
Ø 3、如果田忌剩下的马中最强的马和齐王剩下的最强的马打平的话,可以选择打平或者用最差的马输掉比赛。
在第三步的时候出现选择,我们需要用dp,定义dp[i][j]为在前i场比赛中,田忌派出j匹好马所能得到的最大收益。则转移方程为dp[i][j]=max(dp[i-1][j-1]+g[j][i],dp[i-1][j]+g[n-i+j+1][i]);(因为田忌每次不是选择好马就是选择劣马)。
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<string>#include<queue>#include<algorithm>#include<vector>#include<stack>#include<list>#include<iostream>#include<map>using namespace std;#define inf 0x3f3f3f3f#define Max 110inline int max(int a,int b){return a>b?a:b;}int min(int a,int b){return a<b?a:b;}bool cmp(int a,int b){ return a>b;}int n,num;int a[1010],b[1010],dp[1010][1010],g[1010][1010];int main(){ int i,j; while(scanf("%d",&n),n) { for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=n;i++) scanf("%d",&b[i]); sort(a+1,a+n+1,cmp); sort(b+1,b+n+1,cmp); for(i=1;i<=n;i++) for(j=1;j<=n;j++) { if(a[i]<b[j]) g[i][j]=-1; else if(a[i]==b[j]) g[i][j]=0; else g[i][j]=1; } for(i=0;i<=n;i++) for(j=0;j<=n;j++) dp[i][j]=-inf; dp[0][0]=0; for(i=1;i<=n;i++) for(j=0;j<=i;j++) { if(j>=1) dp[i][j]=max(dp[i-1][j-1]+g[j][i],dp[i-1][j]+g[n-i+j+1][i]); else dp[i][j]=dp[i-1][j]+g[n-i+j+1][i]; } int ans=-inf; for(i=0;i<=n;i++) { ans=max(dp[n][i],ans); } printf("%d\n",ans*200); }}
- poj 2287 Tian Ji -- The Horse Racing
- poj 2287 Tian Ji -- The Horse Racing
- POJ-2287-Tian Ji -- The Horse Racing
- poj 2287 Tian Ji -- The Horse Racing
- POJ-2287-Tian Ji -- The Horse Racing
- poj-2287-Tian Ji -- The Horse Racing
- poj 2287 Tian Ji -- The Horse Racing
- POJ 2287:Tian Ji -- The Horse Racing
- poj 2287 Tian Ji -- The Horse Racing //贪心
- POJ 2287 HDU 1052 Tian Ji -- The Horse Racing
- POJ--2287--Tian Ji -- The Horse Racing【贪心】
- (贪心5.1.2)POJ 2287 Tian Ji -- The Horse Racing
- POJ 2287 Tian Ji -- The Horse Racing(贪心)
- poj 2287 Tian Ji -- The Horse Racing (贪心)
- 118.poj-2287---Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- MessageBox详解,附带AfxMessageBox
- windows远程桌面窗口调节
- 在window中安装cygwin及配置hadoop及其在eclipse中的使用
- android源码编译
- can总线研究
- poj 2287 Tian Ji -- The Horse Racing
- How to set a timer in wp7 applications?
- HashMap高并发死循环相关文章
- 如何把Https网站中的安全证书导入到java中的cacerts证书库
- MFC中常用数据类型转换及文件和对话框和几个控件的使用
- 表单中多个按钮调用不同的action?
- 第9周实验报告3
- Qt鹰眼
- windows phone 7 上几种实现Timer效果的方法