关闭

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

292人阅读 评论(0) 收藏 举报
分类:

Description
两人一人n匹马,赢一局赚200,输一局输200,平局不输不赢,问第一个人怎么样安排赛马顺序才能赢的最多
Input
多组输入,每组用例第一行为马的数量n( n<=1000),第二行为第一个人n匹马的速度,第三行为第二个人n匹马的速度,以n=0结束输入
Output
对于每组用例,输出第一个人最大赢钱数
Sample Input
3
92 83 71
95 87 74
2
20 20
20 20
2
20 19
22 18
0
Sample Output
200
0
0
Solution
有3个策略(所有的策略需要保证我能赢的最多)
1、如果我当前最快的马能够赢他最快的马,则赢一次。
2、如果我当前最慢的马能够赢他最慢的马,则赢一次。
3、上述都不满足,则用我最慢的马去跟他最快的马比,判断是否输一次
Code

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define maxn 1010
int n,a[maxn],b[maxn];
int main()
{
    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 ans=0;
        int la=0,lb=0,ra=n-1,rb=n-1;
        for(int i=0;i<n;i++)
        {
            if(a[ra]>b[rb])//我最快的与他最快的比 
                ans++,ra--,rb--;
            else if(a[la]>b[lb])//我最慢的和他最慢的比 
                ans++,la++,lb++;
            else if(a[la]<b[rb])//我最慢的和他最快的比 
                ans--,rb--,la++;
        }
        printf("%d\n",ans*200);
    }
    return 0;
} 
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

经典模拟问题--摘花生 POJ-1928

经典模拟问题--摘花生 POJ-1928
  • linsheng9731
  • linsheng9731
  • 2014-04-18 19:30
  • 1618

(省赛训练系列)贪心的说 poj贪心经典题目

Crossing River Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u ...
  • u012349696
  • u012349696
  • 2015-04-05 21:04
  • 1317

Gone Fishing(Poj1042)(贪心+枚举)

Gone Fishing Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 31703   ...
  • hdd871532887
  • hdd871532887
  • 2016-01-02 19:15
  • 1634

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

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

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

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
  • 558

【贪心专题】HDU 1052 Tian Ji -- The Horse Racing (田忌赛马)

链接:click here~~ 题意: 田忌和齐王各有N匹马,判断怎样比赛,使田忌净胜场数最多。 之前无意看到强哥写的题解(很早就做了~~囧)感觉很有意思,但是当时忘了去A 了,现在回想起来...
  • u013050857
  • u013050857
  • 2015-04-07 14:31
  • 684

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

Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (...
  • yuyanggo
  • yuyanggo
  • 2015-11-02 19:13
  • 378

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

原题链接 2014年8月5日10:58:24 更新: 贪心标准:若能赢则以最小的代价赢,若得输就让对方付出最大的代价。 思路:先小到大排序,从最小的开始比较,若tian{小} > king{...
  • u012846486
  • u012846486
  • 2014-03-15 14:03
  • 745

hdu 1052 Tian Ji -- The Horse Racing(贪心)

这个博客讲得非常漂亮,言简意赅:
  • zizaimengzhongyue
  • zizaimengzhongyue
  • 2014-04-17 15:55
  • 526
    个人资料
    • 访问:495002次
    • 积分:23241
    • 等级:
    • 排名:第348名
    • 原创:1877篇
    • 转载:0篇
    • 译文:0篇
    • 评论:68条
    最新评论