HDU1052-Tian Ji -- The Horse Racing-贪心
2017-05-23 11:40
323 查看
https://vjudge.net/problem/HDU-1052
贪心的策略是很好理解的。
一开始没有理解。以为只要让最大的和最小的颠倒就好了。。
其实关键就是 找最小的来凑数。
当田鸡最快的马大于 齐王时,比较
慢于齐王时,用最慢的来代替。
如果相等时,看最慢的马
如果田慢大于齐慢,直接赢
否则,就让他去代替。
(不用管太多,唯一需要注意的就是相等的情况,所以还要判断一下他和齐快的大小。。万一相等了呢)
贪心的策略是很好理解的。
一开始没有理解。以为只要让最大的和最小的颠倒就好了。。
其实关键就是 找最小的来凑数。
当田鸡最快的马大于 齐王时,比较
慢于齐王时,用最慢的来代替。
如果相等时,看最慢的马
如果田慢大于齐慢,直接赢
否则,就让他去代替。
(不用管太多,唯一需要注意的就是相等的情况,所以还要判断一下他和齐快的大小。。万一相等了呢)
#include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> using namespace std; /*这道题是贪心的好题。开始以为直接排序就可以, 再换一下 首尾的顺序。 后来才发现不是。 4 3 2 1 1 4 3 2如果4干不过3但可以干过2,还是应该调整一下的。。 如果 田鸡最快的快,那么直接比较 如果慢,用最慢的上。 如果相等,看最慢的,如果田鸡最慢的有优势,直接比较 如果没有,就让慢的上 (注意一下是否比最大的慢,判断次数防止相等的情况) */ const int maxn=2000; int main() { int t; int a[maxn]; int b[maxn]; while(~scanf("%d",&t)) { if(t==0) break; for(int i=0;i<t;i++) scanf("%d",&b[i]); for(int i=0;i<t;i++) scanf("%d",&a[i]); sort(a,a+t); sort(b,b+t); int max1=t-1; int max2=t-1; int min1=0; int min2=0; int win=0; while(min1<=max1&&min2<=max2) { if(b[max1]>a[max2]) { win++; max1--; max2--; //printf("!%d %d\n",max1+1,max2+1); //continue; } else if(b[max1]<a[max2]) { win--; min1++; max2--; //printf("%d %d\n",max1-1,max2+1); //田鸡最慢对阵大王最快的 } else { if(b[min1]>a[min2]) { win++; min1++; min2++; //printf("@%d %d\n",min1-1,min1-1); } else { if(b[min1]<a[max2]) win--; min1++; max2--; } } } printf("%d\n",win*200); } return 0; }
相关文章推荐
- hdu1052 Tian Ji -- The Horse Racing 贪心
- HDU1052 Tian Ji -- The Horse Racing 田忌赛马 贪心
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- 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 (贪心,田忌赛马)
- HDU1052 Tian Ji -- The Horse Racing【贪心】
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- hdu1052 Tian Ji -- The Horse Racing(贪心)
- 杭电-1052 Tian Ji -- The Horse Racing (贪心)
- HDU-1052-Tian Ji -- The Horse Racing(C++ && 简单贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- hdoj 1052 Tian Ji -- The Horse Racing(第一次接触贪心)
- hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马,贪心】
- 杭电hdu 1052 Tian Ji -- The Horse Racing 贪心
- hdu 1052 Tian Ji -- The Horse Racing(贪心)