poj 2287 贪心(田忌赛马)
来源:互联网 发布:在线阅读系统源码 编辑:程序博客网 时间:2024/05/15 05:07
题意:田忌赛马。每匹马给定一个能力值,赢一场赢200元,输一场输200元,平局钱数不变。问收益最大。
思路(http://blog.csdn.net/zhang20072844/article/details/8126344):贪心策略:1,如果田忌的最快马快于齐王的最快马,则两者比。
(因为若是田忌的别的马很可能就赢不了了,所以两者比)
2,如果田忌的最快马慢于齐王的最快马,则用田忌的最慢马和齐王的最快马比。
(由于所有的马都赢不了齐王的最快马,所以用损失最小的,拿最慢的和他比)
3,若相等,则比较田忌的最慢马和齐王的最慢马
3.1,若田忌最慢马快于齐王最慢马,两者比。
(田忌的最慢马既然能赢一个就赢呗,而且齐王的最慢马肯定也得有个和他比,所以选最小的比他快得。)
3.2,其他,则拿田忌的最慢马和齐王的最快马比。
(反正所有的马都比田忌的最慢马快了,所以这匹马必输(这个地方还是不太明白),选贡献最大的,干掉齐王的最快马)
#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 1005int t[N],k[N];int n;int cmp(const void* a,const void* b){ return (*(int*)a) - (*(int*)b);}int main(){ while(scanf("%d",&n) && n){ int res=0,i,ti,ki,tj,kj; for(i = 1;i<=n;i++) scanf("%d",&t[i]); for(i = 1;i<=n;i++) scanf("%d",&k[i]); qsort(t+1,n,sizeof(int),cmp); qsort(k+1,n,sizeof(int),cmp); ti = ki = 1;//t表示田忌,k表示国王;ij表示游标 tj = kj = n; while(ti!=tj){ if(t[ti] < k[ki] || t[tj] < k[kj]){ ti++; kj--; res -= 200; }else if(t[tj] > k[kj]){ tj--; kj--; res += 200; }else if(k[ki] < t[ti]){ ti++; ki++; res += 200; }else{ if(t[ti] < k[kj]) res -= 200; ti++; kj--; } } if(t[ti] < k[ki]) res -= 200; else if(t[ti] > k[ki]) res += 200; printf("%d\n",res); } return 0;}
0 0
- poj 2287 贪心(田忌赛马)
- 2287 poj 田忌赛马,贪心
- 田忌赛马: POJ 2287(贪心解法)
- POJ 2287 田忌赛马 贪心
- poj 2287 田忌赛马 贪心
- HDUOJ-1052(poj-2287)(田忌赛马)(贪心)
- Poj 2287 田忌赛马解题详解(贪心思想)
- 田忌赛马(贪心)
- 田忌赛马(POJ 2287)
- 田忌赛马 poj 2287 (贪心,动态规划,贪心+动态规划)
- poj 2287 田忌赛马
- poj 2287 田忌赛马
- NYOJ 364 田忌赛马 (贪心)
- POJ2287--贪心(田忌赛马)
- NYOJ-364 田忌赛马(贪心)
- 田忌赛马(较难贪心)
- NYOJ 364 田忌赛马(贪心)
- NYOJ 364 田忌赛马(贪心)
- PHP数学运算和日期相关
- 伪分布式集群环境hadoop、hbase、zookeeper搭建(全)
- Python学习笔记 装饰器详解
- LeetCode:Merge k Sorted Lists
- Android中Bitmap,byte[],Drawable相互转化
- poj 2287 贪心(田忌赛马)
- excel中vba调用java程序并获取返回值
- Django学习系列(五)——编写第一个Django应用part4_View&URL
- [iOS] 使用UIWebView时objective-c与javascript互相调用
- 解决方案:cocoapods提示ld: library not found for -lPods
- 欢迎使用CSDN-markdown编辑器
- 个人源码检索网站已经开始开发
- poj1222 EXTENDED LIGHTS OUT
- No.3 (code review)复杂计算器(实现8位以内的连续加减乘除运算---可能有BUG,还希望多多帮忙改善!)