hdu 1052 Tian Ji -- The Horse Racing【田忌赛马】
这道题主要是需要考虑到各种情况:先对马的速度进行排序,然后分情况考虑:
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【田忌赛马】的更多相关文章
- 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 ...
- 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 ...
- 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 ...
- HDU 1052 Tian Ji -- The Horse Racing【贪心在动态规划中的运用】
算法分析: 这个问题很显然可以转化成一个二分图最佳匹配的问题.把田忌的马放左边,把齐王的马放右边.田忌的马A和齐王的B之间,如果田忌的马胜,则连一条权为200的边:如果平局,则连一条权为0的边:如果输 ...
- 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 ...
- HDU 1052 Tian Ji -- The Horse Racing(贪心)
题目来源:1052 题目分析:题目说的权值匹配算法,有点误导作用,这道题实际是用贪心来做的. 主要就是规则的设定: 1.田忌最慢的马比国王最慢的马快,就赢一场 2.如果田忌最慢的马比国王最慢的马慢,就 ...
- 杭州电 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 ...
- hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】
思路:先按从小到大排序, 然后从最快的開始比(如果i, j 是最慢的一端, flag1, flag2是最快的一端 ),田的最快的大于king的 则比較,如果等于然后推断,有三种情况: 一:大于则比較, ...
- 【贪心】[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 ...
随机推荐
- spring boot 常见的第三方集成
spring boot基于1.x. 一 集成redis 1.1 配置 spring.redis.host = localhost spring.redis.port = 6379 spring.red ...
- ./configure -build,-host,-target设置
build:执行代码编译的主机,正常的话就是你的主机系统.这个参数一般由config.guess来猜就可以.当然自己指定也可以.host:编译出来的二进制程序所执行的主机,因为绝大多数是如果本机编译, ...
- idea使用svn or git
有时候项目开始使用svn 后来切换为git, 配置文件还在,导致有时候默认是svn,配置文件在 .idea --> vcs.xml 中, <mapping directory=" ...
- 项目总结20:阿里云免费https证书申请
项目总结20:阿里云免费https证书申请 1. 登录阿里云控制台 www.aliyun.com,用账户信息登录 2. 在”产品与服务”搜索SSL,选择SSL证书 3. 点击购买证书 4. 选择” S ...
- json转换对象中出现null属性的解决方法
前言:当数据进行json转换时,当属性值为null时,json解析就会中断,导致接下来的数据无法正确获取.原则上来讲服务器端发送的json字符串不允许存在属性值为空的情况,但是如果服务器端发送了nul ...
- Spring常用注解总结(2)
@Autowired "自动填装",作用是为了消除代码JAVA代码里面的getter/setter与bean属性中的property. @Autowired默认按类型匹配的方式,在 ...
- Tornado创建一个web服务
import tornado.web import tornado.ioloop import tornado.httpserver import tornado.options import con ...
- 老赵点滴地址:http://blog.zhaojie.me/2009/05/a-simple-actor-model-implementation.html
老赵点滴地址:http://blog.zhaojie.me/2009/05/a-simple-actor-model-implementation.html
- 分离式lnmp部署
分离式lnmp简介 lnmp和lamp一样,是一种常用的web环境, 在实际环境中,lnmp中的三个服务常常为了更好的性能而分在三台主机上安装. 本篇内只介绍nginx和php-fpm+mysql分离 ...
- PID25 / 合并果子 ☆
这里用到了STL里面的priority_queue,我也不是很精通基本上属于现学现卖阶段,http://www.cnblogs.com/flyoung2008/articles/2136485.htm ...