HDU1052 Tian Ji -- The Horse Racing(贪心)
来源:互联网 发布:传销金字塔算法 编辑:程序博客网 时间:2024/06/11 01:49
题意:田忌和齐王赛马,有n匹马,每匹马都有自己的速度,赢了得200,输了负200,平局得0.求田忌最多能赢多少钱。
思路:从双方最慢的马开始比较,有三种情况,
1、田忌的马快。这时候直接比就行了,果断胜场加一。
2、田忌的马慢。这时候怎么都会输,就拿田忌最慢的马和齐王最快的马去比,给别的马创造赢面。
3、平局。最复杂的情况,这时候不能直接按平局处理。且看下面三组数据:
420 25 35 60
20 30 40 80
这种情况下拿田忌最慢的马输给齐王最快的马可以给别的马争取到赢面。
420 35 45 85
20 30 40 80
这种情况下拿田忌最慢的马输给齐王最快的马会使得最后多输一场。
那么如何判断该平局还是该去匹配齐王最快的马呢?直接比较最快的马的速度肯定不行,如下面这个数据:
5
20 25 35 60 85
20 30 40 70 80
这种情况田忌最快的马要比齐王的快,需要拿田忌最慢的马去匹配齐王第二快的马。
得出结论:这种情况下从两者最快的马开始比较,直到找到第一个田忌的马不快于齐王的情况。此时用田忌最慢的马去输给齐王的快马即可。
卡几天终于搞了出来,语言有点乱。
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<stack>#include<queue>#include<vector>#include<map>#include<set>#include<algorithm>#include<string.h>using namespace std;typedef long long ll;const int inf = 0x3f3f3f3f;const int mod = 1000000007;const int maxn = 10005;int a[1005], b[1005];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); int cnt = 0; int l1 = 0, r1 = n - 1;//标记田忌的慢马、快马 int l2 = 0, r2 = n - 1;//标记齐王的慢马、快马 while(l1 <= r1){ if(a[l1] > b[l2]){ ++cnt; ++l1; ++l2; } else if(a[l1] < b[l2]){ --cnt; ++l1; --r2; } else { while(r1 >= l1 && a[r1] > b[r2]){ ++cnt; --r1; --r2; } if(r1 >= l1){ if(a[l1] < b[r2]){ --cnt; } ++l1; --r2; } } } printf("%d\n", 200 * cnt); } return 0;}
阅读全文
0 0
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- HDU1052 Tian Ji -- The Horse Racing【贪心】
- hdu1052 Tian Ji -- The Horse Racing 贪心
- HDU1052 Tian Ji -- The Horse Racing 贪心
- [HDU1052]Tian Ji -- The Horse Racing[贪心]
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- HDU1052-Tian Ji -- The Horse Racing-贪心
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- hdu1052 Tian Ji -- The Horse Racing(贪心)
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- Tian Ji -- The Horse Racing hdu1052 贪心算法
- POJ2287 HDU1052 Tian Ji -- The Horse Racing【贪心】
- HDU1052 Tian Ji -- The Horse Racing 田忌赛马 贪心
- HDU1052:Tian Ji -- The Horse Racing
- hdu1052-Tian Ji -- The Horse Racing
- hdu1052 Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing HDU1052
- 框架串讲
- hdu 1077 圆覆盖的最大点数
- 机智云受邀参加2017中国ISV生态系统峰会
- java类初始化顺序
- Java8接口的默认方法
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- MD5加密算法源码
- 周志华机器学习 西瓜书(PDF) 斯坦福大学机器学习视频 机器学习基石+技法 邹博机器学习 七月在线机器学习 资源下载
- Python cv2灰度图转伪彩图
- hdu 1004 Let the Balloon Rise
- 关于ggplot2的一些用法
- B
- HTML基础篇
- Ubuntu16.04+CUDA+CUDNN+Anaconda+Tensorflow+keras深度学习环境搭建