poj 2287 Tian Ji -- The Horse Racing

原创 2015年07月07日 22:05:04
poj 2287 Tian Ji -- The Horse Racing

题意:
田忌赛马 
如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛。赢一局,田忌可以得到200两银子,输一局,田忌就要输掉200两银子,平局的话不输不赢。 
请问田忌最多能赢多少银子?

思路:
贪心;
如果当前最好的马可以胜齐王最好的马,那么让这两匹马比一场;
如果当前最差的马能胜齐王最差的马,那么让这两匹马比一场;
如果上面两个条件都不满足,那么让当前最差的马和齐王最好的马比一场。

/*poj 2287
  题意:
  田忌赛马 
  如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛。赢一局,田忌可以得到200两银子,输一局,田忌就要输掉200两银子,平局的话不输不赢。 
  请问田忌最多能赢多少银子?
  思路:
  贪心;
  如果当前最好的马可以胜齐王最好的马,那么让这两匹马比一场;
  如果当前最差的马能胜齐王最差的马,那么让这两匹马比一场;
  如果上面两个条件都不满足,那么让当前最差的马和齐王最好的马比一场。
 */
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=1005;
int a[N],b[N];
void gao(int n){
	int p1=0,p2=0;
	int q1=n-1,q2=n-1;
	int ans=0;
	while(p1<=q1){
		if(a[p1]>b[p2]){
			++p1;
			++p2;
			++ans;
		}
		else if(a[q1]>b[q2]){
			--q1;
			--q2;
			++ans;
		}
		else{
			if(a[p1]!=b[q2])
				--ans;
			++p1;
			--q2;
		}
	}
	printf("%d\n",ans*200);
}
int main(){
	int n;
	while(scanf("%d",&n) && n){
		for(int i=0;i<n;++i)
			scanf("%d",&a[i]);
		for(int i=0;i<n;++i)
			scanf("%d",&b[i]);
		sort(a,a+n);
		sort(b,b+n);
		gao(n);
	}
	return 0;
}


版权声明:by whai

相关文章推荐

POJ-2287-Tian Ji -- The Horse Racing

题意如下:

POJ2287/UVA1344 Tian Ji -- The Horse Racing

Description Here is a famous story in Chinese history. That was about 2300 years ago. General Tia...

POJ 2287 Tian Ji -- The Horse Racing(贪心)

POJ 2287 Tian Ji -- The Horse Racing(贪心) http://poj.org/problem?id=2287 题意:        (前面一大段背景介绍…)其实...

POJ2287-Tian Ji -- The Horse Racing (Java)

Description Here is a famous story in Chinese history.  That was about 2300 years ago. General T...

POJ--2287--Tian Ji -- The Horse Racing【贪心】

Description Here is a famous story in Chinese history.  That was about 2300 years ago. General Tian...
  • zzzz40
  • zzzz40
  • 2013年06月07日 17:31
  • 500

poj2287 Tian Ji -- The Horse Racing(2016xynu暑期集训检测 -----C题)

Description Here is a famous story in Chinese history. That was about 2300 years ago. General T...

poj 2287 Tian Ji -- The Horse Racing (贪心)

# include # include # include using namespace std; int main() { int n,i,j,k,count; int flag1[10...
  • lp_opai
  • lp_opai
  • 2014年07月26日 20:51
  • 536

田忌赛马Tian Ji -- The Horse Racing(hdu 1052)

刚开始用二分图的最大匹配,超时了。 二分图最大分配代码: #include #include   int n; int tian[1005],king[1005]; int path[1...

hdu1052 Tian Ji -- The Horse Racing (贪心,田忌赛马)

Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (...

HDU1052 Tian Ji -- The Horse Racing【贪心】

原题链接 2014年8月5日10:58:24 更新: 贪心标准:若能赢则以最小的代价赢,若得输就让对方付出最大的代价。 思路:先小到大排序,从最小的开始比较,若tian{小} > king{...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj 2287 Tian Ji -- The Horse Racing
举报原因:
原因补充:

(最多只允许输入30个字)