田忌赛马,大致题意是田忌和国王赛马,赢一局得200元,输一局输掉200元,平局则财产不动。

先输入一个整数N,接下来一行是田忌的N匹马,下一行是国王的N匹马。当N为0时结束。
此题为贪心算法解答,有两种思路。
思路二:
1、开始也是先排序,可以使用sort快排;
2、然后将田忌最大的马与国王进行比较;
3、如果田忌最大的马大于国王,那么就胜场++;
4、如果田忌最大的马小于国王,那么就一定会输,所以用田忌最小的马输给国王最大的马;
5、如果田忌最大的马等于国王,那么就比较最小的马;
5。1、如果田忌最小的马大于国王,那么胜场++;
5。2、如果田忌最小的马小于国王,那么就输给国王;
5。3、如果田忌最小的马等于国王,就用田忌最小的马对国王最大的马,如果国王最大的马大,那么财产要减200;
 
const int Max = ;
bool cmp(int a,int b) { return a > b; }
int pk2()
{
int tian[Max],king[Max];
int i,j,n,m;
while(cin >> n)
{
if(n == ) break;
for(i=; i<=n; i++) { cin >> tian[i]; }
for(i=; i<=n; i++) { cin >> king[i]; }
sort(tian+,tian++n,cmp);
sort(king+,king++n,cmp);
int ans = ;
int ii,jj;
for(i=, j=, ii=n, jj=n; i<=ii; )
{
if(tian[i] > king[j]) { ans += ; i++,j++; }
else if(tian[i] < king[j]) { ans -= ; j++,ii--; }
else
{
if(tian[ii] > king[jj])
{
ans += ;
ii--,jj--;
}
else
{
if(tian[ii] < king[j])
ans -= ;
ii--,j++;
}
}
}
cout << ans << endl;
}
return ;
}
int main()
{
pk2();
return ;
}

参考:

http://blog.163.com/zhaoyuan_sue/blog/static/20868323120125280842774/

POJ 2287 田忌赛马 贪心算法的更多相关文章

  1. poj 2287(贪心)

    Tian Ji -- The Horse Racing Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 12490   Acc ...

  2. POJ 2287 田忌赛马

    Tian Ji -- The Horse Racing Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 17699   Acc ...

  3. poj 1088 滑雪(贪心算法)

    思想: (贪心算法 ,看到题目是中文才做的) 先对数组中的数据进行排序,从最小的数据计算 当前的顶点的可以滑行的最大值=max(周围可达的顶点的可以滑行的最大值)+1 这样计算最后产生的路径肯定是最大 ...

  4. 【集训笔记】贪心算法【HDOJ1052 【HDOJ2037

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  5. poj_1042 贪心算法

    poj 1042 gone fishing 题目要求: 由有n个湖, 按照顺序排列,一个人从第一个湖向最后一个湖行进(方向只能从湖0到湖n-1),途中可以在湖中钓鱼.在每个湖中钓鱼时,开始的5分钟内可 ...

  6. poj_2709 贪心算法

    poj 2709 painter 题目要求 给定涂料,每套涂料含有3-12种不同的颜色(开始时候给定选用的颜料套的颜色数目),且一套涂料中每种颜色均有50ml.且一套涂料中的任意三种不同的颜色各X m ...

  7. ACM 贪心算法总结

    贪心算法的本质: 就是当前状态的最优解,它并不考虑全局. 什么是当前状态的最优解? 成本问题? https://www.cnblogs.com/xuxiaojin/p/9400892.html (po ...

  8. 贪心算法(Greedy Algorithm)

    参考: 五大常用算法之三:贪心算法 算法系列:贪心算法 贪心算法详解 从零开始学贪心算法 一.基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以 ...

  9. 算法导论----贪心算法,删除k个数,使剩下的数字最小

    先贴问题: 1个n位正整数a,删去其中的k位,得到一个新的正整数b,设计一个贪心算法,对给定的a和k得到最小的b: 一.我的想法:先看例子:a=5476579228:去掉4位,则位数n=10,k=4, ...

随机推荐

  1. iOS安装CocoaPods详细过程

    iOS安装CocoaPods详细过程 一.简介 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的 ...

  2. luajit 64位 for cocos2dx 编译ios解决方法

    最近luajit发布了64位beta版,由于appstore上线必须是64位的应用,而且我的游戏项目用到lua脚本,所以必须要用到64位的luajit来编译lua脚本. 方法如下: 在luajit官网 ...

  3. about route

    route add default dev  my_iface1 route del default route add default gw 192.168.120.1 route add -net ...

  4. C++常用的系统函数

    数学<math.h>: 1 三角函数 double sin (double); double cos (double); double tan (double); 2 反三角函数 doub ...

  5. jsp页面通过EL表达式获取list大小兼容性处理

    1.jsp页面通过EL表达式获取list大小,中间件用tomcat7时,下面这个写法是可以的 <input id="test" type="hidden" ...

  6. 10.31课程.this指向

    作用域: 浏览器给js的生存环境(栈). 作用域链: js中的关键字例如var.function...都可以提前声明,然后js由上到下逐级执行,有就使用,没有就在它的父级元素中查找.这就叫做作用域链. ...

  7. mongodb查看数据库和表的信息

    mongodb查看数据库和表的方法比较简单,在为这里推荐使用stats的方法,直观并且详细. 1.查看数据库 db.stats();1输出: { "db" : "siri ...

  8. 一分钟完成pip安装

    很多实用Python的小伙伴都需要使用pip安装相应的包,对于初学者而已,检查遇到pip安装不成功的情况,如以下典型错误: Traceback (most recent call last): Fil ...

  9. Hive(7)-基本查询语句

    一. 表和数据准备 1. 数据地址 链接:https://pan.baidu.com/s/1crr8B9bD_0Phfm99vLCWjg  提取码:5jzw 2. 建表语句 create table ...

  10. Hadoop-Hive学习笔记(2)

    1.Hive基本操作 #创建数据库hive>create database name;#创建新表hive> create table students(id int,name string ...