题目

这道题主要是需要考虑到各种情况:先对马的速度进行排序,然后分情况考虑:

1.当田忌最慢的马比国王最慢的马快则赢一局

2.当田忌最快的马比国王最快的马快则赢一局

3.当田忌最快的马比国王最快的马慢 则用田忌最慢的马和国王最快的马比,输一局

4.当他们最快的马相等时则用 田忌最慢的马和国王最快的马比。【因为自己后面的队友很有可能战胜此时对方的这匹慢马,所以就算自己输一场,队友也能帮忙赢回一场,而胜一场,输一场的收益和打平一场的收益是一样的,而且自己输的时候可以拉对方最快的马下水,给己方最快的马创造更大的胜利机会,也就是说己方最快的马很可能因为自己的牺牲再胜利一场,从这个角度看,还是自己故意输掉比较好。举个列子:

Tian: 3 6 8

King:3 7 9。如果Tian的3和King的3打平手,那么Tian会输2场;Tian的3打King的9,Tian赢2场;

#include<iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std; int main()
{
int n;
int Tian[1110],King[1110];
while(cin>>n)
{
if(n==0) break;
for(int i=0;i<n;i++)
cin>>Tian[i];
for(int i=0;i<n;i++)
cin>>King[i];
sort(Tian,Tian+n);
sort(King,King+n); int sj=0,sk=0;
int ej=n-1,ek=n-1;
int ans = 0;
for(int i=0;i<n;i++)
{
if(Tian[sj]>King[sk]){//Tian(min)>King(min)
ans++;
sj++;sk++;
}else if(Tian[ej]>King[ek]){//Tian(max)>King(max)
ans++;
ej--;ek--;
}else if(Tian[ej]<King[ek]){//Tian(max)<King(max)
ans--;
sj++;
ek--;
}else if(Tian[ej]==King[ek]){//Tian(max)=King(max)
if(Tian[sj]<King[ek])
ans--;
sj++;
ek--;
}
}
cout<<ans*200<<endl;
}
return 0;
}

hdu 1052 Tian Ji -- The Horse Racing【田忌赛马】的更多相关文章

  1. hdu 1052 Tian Ji -- The Horse Racing (田忌赛马)

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  2. HDU 1052 Tian Ji -- The Horse Racing (贪心)(转载有修改)

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  3. Hdu 1052 Tian Ji -- The Horse Racing

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  4. HDU 1052 Tian Ji -- The Horse Racing【贪心在动态规划中的运用】

    算法分析: 这个问题很显然可以转化成一个二分图最佳匹配的问题.把田忌的马放左边,把齐王的马放右边.田忌的马A和齐王的B之间,如果田忌的马胜,则连一条权为200的边:如果平局,则连一条权为0的边:如果输 ...

  5. HDU 1052 Tian Ji -- The Horse Racing(贪心)(2004 Asia Regional Shanghai)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1052 Problem Description Here is a famous story in Ch ...

  6. HDU 1052 Tian Ji -- The Horse Racing(贪心)

    题目来源:1052 题目分析:题目说的权值匹配算法,有点误导作用,这道题实际是用贪心来做的. 主要就是规则的设定: 1.田忌最慢的马比国王最慢的马快,就赢一场 2.如果田忌最慢的马比国王最慢的马慢,就 ...

  7. 杭州电 1052 Tian Ji -- The Horse Racing(贪婪)

    http://acm.hdu.edu.cn/showproblem.php? pid=1052 Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS ...

  8. hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】

    思路:先按从小到大排序, 然后从最快的開始比(如果i, j 是最慢的一端, flag1, flag2是最快的一端 ),田的最快的大于king的 则比較,如果等于然后推断,有三种情况: 一:大于则比較, ...

  9. 【贪心】[hdu1052]Tian Ji -- The Horse Racing(田忌赛马)[c++]

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...

随机推荐

  1. spring boot 常见的第三方集成

    spring boot基于1.x. 一 集成redis 1.1 配置 spring.redis.host = localhost spring.redis.port = 6379 spring.red ...

  2. ./configure -build,-host,-target设置

    build:执行代码编译的主机,正常的话就是你的主机系统.这个参数一般由config.guess来猜就可以.当然自己指定也可以.host:编译出来的二进制程序所执行的主机,因为绝大多数是如果本机编译, ...

  3. idea使用svn or git

    有时候项目开始使用svn 后来切换为git, 配置文件还在,导致有时候默认是svn,配置文件在 .idea --> vcs.xml 中,  <mapping directory=" ...

  4. 项目总结20:阿里云免费https证书申请

    项目总结20:阿里云免费https证书申请 1. 登录阿里云控制台 www.aliyun.com,用账户信息登录 2. 在”产品与服务”搜索SSL,选择SSL证书 3. 点击购买证书 4. 选择” S ...

  5. json转换对象中出现null属性的解决方法

    前言:当数据进行json转换时,当属性值为null时,json解析就会中断,导致接下来的数据无法正确获取.原则上来讲服务器端发送的json字符串不允许存在属性值为空的情况,但是如果服务器端发送了nul ...

  6. Spring常用注解总结(2)

    @Autowired "自动填装",作用是为了消除代码JAVA代码里面的getter/setter与bean属性中的property. @Autowired默认按类型匹配的方式,在 ...

  7. Tornado创建一个web服务

    import tornado.web import tornado.ioloop import tornado.httpserver import tornado.options import con ...

  8. 老赵点滴地址:http://blog.zhaojie.me/2009/05/a-simple-actor-model-implementation.html

    老赵点滴地址:http://blog.zhaojie.me/2009/05/a-simple-actor-model-implementation.html

  9. 分离式lnmp部署

    分离式lnmp简介 lnmp和lamp一样,是一种常用的web环境, 在实际环境中,lnmp中的三个服务常常为了更好的性能而分在三台主机上安装. 本篇内只介绍nginx和php-fpm+mysql分离 ...

  10. PID25 / 合并果子 ☆

    这里用到了STL里面的priority_queue,我也不是很精通基本上属于现学现卖阶段,http://www.cnblogs.com/flyoung2008/articles/2136485.htm ...