hdu 1052 贪心
2014-08-23 13:27
190 查看
题意:田忌和齐王各有n匹马,进行比赛,赢一场的200分,求田忌最大得分。
/*
每次取田忌的最快的马与齐王最快的马比较,有三种情况。
一、田忌最快的马比齐王最快的快,那么直接用田忌最快的马去赢齐王最快的马。
二、田忌最快的马比齐王最快的慢,那么用田忌最慢的马去输齐王最快的马。
三、田忌最快的马与齐王最快的马速度一样。
先用田忌最慢的马与齐王最慢的马比较。
若田忌比齐王快,直接赢掉齐王最慢的马。
否则田忌最慢的马再去与齐王最快的马比。
如果最快最慢的马都一样,用田忌最慢的马和齐王最快的马比。
*/
代码如下:
/*
每次取田忌的最快的马与齐王最快的马比较,有三种情况。
一、田忌最快的马比齐王最快的快,那么直接用田忌最快的马去赢齐王最快的马。
二、田忌最快的马比齐王最快的慢,那么用田忌最慢的马去输齐王最快的马。
三、田忌最快的马与齐王最快的马速度一样。
先用田忌最慢的马与齐王最慢的马比较。
若田忌比齐王快,直接赢掉齐王最慢的马。
否则田忌最慢的马再去与齐王最快的马比。
如果最快最慢的马都一样,用田忌最慢的马和齐王最快的马比。
*/
代码如下:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int a[1111],b[1111]; int main() { int i,j,k,l,m,n; while(cin>>n,n) { for(i=0;i<n;i++) { cin>>a[i]; } for(j=0;j<n;j++) { cin>>b[j]; } sort(a,a+n); sort(b,b+n); int l1=0,l2=0; int q1=n-1,q2=n-1; int sum=0; for(i=0;i<n;i++) { if(a[q1]>b[q2]) { sum+=200; q1--;q2--; } else if(a[q1]<b[q2]) { sum-=200; l1++; q2--; } else if(a[q1]==b[q2]) { if(a[l1]>b[l2]) { sum+=200; l1++; l2++; } else if(a[l1]<=b[l2]) { if(a[l1]<b[q2]) { sum-=200; l1++; q2--; } else if(a[l1]==b[q2]) { l1++; q2--; } } } } cout<<sum<<endl; } }
相关文章推荐
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- HDU 1052 Tian Ji -- The Horse Racing(贪心)
- 【贪心】HDU 1052 Tian Ji -- The Horse Racing n匹马的“田忌赛马”
- HDU 1052 田忌赛马(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- HDU-1052 Tian Ji -- The Horse Racing 贪心 考虑特殊位置(首尾元素)的讨论
- HDU 1052(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(经典贪心)
- HDU 1052 Tian Ji -- The Horse Racing(贪心)(2004 Asia Regional Shanghai)
- HDU 1052 田忌赛马(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- HDU 1052 田忌赛马 (贪心_好题)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- 一道贪心题-HDU-1052
- POJ 2287 && HDU 1052 Tian Ji -- The Horse Racing(贪心)
- HDU - 1052 Tian Ji -- The Horse Racing(简单贪心)
- HDU1052——田忌赛马(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)