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 ...
随机推荐
- 自己实现HashSet
HashSet的实现相对比较简单.它强依赖于HashMap,包括底层数据实际上就是存储于HashMap,由于HashMap在哈希碰撞下,如果value值相同,那么将会覆盖该value,HashSet正 ...
- C#少量数据分页方法
string sql = @"select [Name],[Value],[TypeCode] from [dbo].[SYS_Parameter] WHERE TypeCode = 'Us ...
- CentOS 7 安装MongoDB
一.安装 1.进入网址 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ 按照官方指南进行安装 2.创建文件 / ...
- Android 8.0+ 更新安装apk失败的问题
最近做项目发现Android 8.0+ 更新安装apk时 出现安装失败的情况 总结原因是 缺少安装的权限 Android 8.0 (Android O)为了针对一些流氓软件引导用户安装其他无关应用. ...
- 从xampp到phpmyadmin
目录 xampp的安装和配置 尝试运行Example11_1(图形化管理工具的可视化界面) 参考博文 xampp的安装和配置 主要参考博文Intellj IDEA 简易教程 1.下载并安装xampp ...
- vs code 配置 php xdebug
1.安装扩展 php debug 2.下载xdebug插件 做个页面输出phpinfo(),复制到这个页面 https://xdebug.org/wizard.php 提交后会告诉你机子要下载哪个版本 ...
- Div+CSS+JQuery实现选项卡,即通过点击不同的li跳转到不同的div中显示不同的内容或者执行不同的操作。
1.代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ...
- AD16 PCB重新定义板型时没有Redefine Board Shape
1.高版本的AD都没有“Redefine Board Shape” 2.在Keep-Out-Layer层,做好了板子的外形,把外形都选中后,然后快捷键D-S-D即可.
- 安装和使用JD-Eclipse插件
http://www.cnblogs.com/0616--ataozhijia/p/3924411.html http://aniyo.iteye.com/blog/1336622
- JS require and import
作者:寸志链接:https://www.zhihu.com/question/56820346/answer/150724784来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...