题目描述

田忌准备和齐王赛马,各自拿出的比赛马匹数是n个,胜负由每匹马的速度决定,田忌可 以自由选择自己的马和齐王的比赛,田忌赢一次赏金加50,输一次赏金赔50,田忌赚的 钱最低为0,求田忌最多能赚多少钱?
输入:
多行测试数据,每行包含一个整数n和2n个正整数,第一个n表示比赛马的数量,之后的n个整数表示齐王马的速度,此行最后n个整数表示田忌马的速度。
样例输入:
3 2 1 3 2 2 3
3 2 1 3 1 1 3
样例输出:
50
0

分析

  1. 如果田忌的最快马快于齐王的最快马,则两者比赛一场。这是因为若是田忌的别的马可能就赢不了,所以两者比赛。
  2. 如果田忌的最快马慢于齐王的最快马,则用田忌的最慢马和齐王的最快马比赛一场。这是因为所有的马都赢不了齐王的最快马,所以用损失最小的,拿最慢的和他比。
  3. 若田忌的最快马和齐王的最快马一样快,则比较田忌的最慢马和齐王的最慢马。分成两种情况:
    (1)若田忌的最慢马快于齐王的最慢马,田忌的最慢马和齐王的最慢马比。因为田忌的最慢马既然能赢一个就赢一个,而且齐王的最慢马肯定也得有个和它比,所以选比齐王的最慢马快的最慢马与其比,避免浪费。
    (2)否则就拿田忌的最慢马和齐王的最快马比。因为反正所有的马都比田忌的最慢马快,所以这匹马必输,选贡献最大的比掉齐王的最快马。

AC代码

//普通算法
#include <iostream>
#include <algorithm>
using namespace std;
int cmp(const int a, const int b)
{return a < b;
}
int main(void)
{int n;while(cin>>n){int a[100]={0}, b[100]={0}, min1=0, min2=0, max1=n-1, max2=n-1, res=0, cnt=0;for(int i=0; i<n; i++)cin>>a[i];for(int i=0; i<n; i++)cin>>b[i];sort(a, a+n, cmp);sort(b, b+n, cmp);while((cnt++)<n){if(b[max2]>a[max1]){res += 50;max1--;max2--;}else if(b[max2]<a[max1]){res -= 50;max1--;min2++;}else{if(b[min2]>a[min1]){res += 50;min1++;min2++;}if(b[min2]<a[min1]){res -= 50;min1--;min2--;}}}cout<<res<<endl;}return 0;
}

有空再更动态规划算法。


欢迎大家光临我的博客——>博客传送门。

【贪心】田忌赛马题解相关推荐

  1. NOI题库刷题日志 (贪心篇题解)

    这段时间在NOI题库上刷了刷题,来写点心得和题解 一.寻找平面上的极大点 2704:寻找平面上的极大点 总时间限制:  1000ms  内存限制:  65536kB 描述 在一个平面上,如果有两个点( ...

  2. Tyvj P1048 田忌赛马 题解

    像我这种蒟蒻就非常适合做一些辣鸡题,比如一些简单的贪心题,今天偶遇田忌赛马,于是我就非常轻(费)松(力)地搞定了这道题. 题目: 时间: 1000ms / 空间: 131072KiB 描述 中国古代的 ...

  3. leetcode 贪心_leetcode题解(贪心算法)

    定义 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择. 也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解. 通常贪心算法的代码会非常短而且思路也非常 ...

  4. 蓝桥杯算法训练KAc给糖果贪心-python题解

    KAC给糖果(贪心) 问题描述 kAc有n堆糖果,每堆有A[i]个. kAc说你只能拿m次糖果,聪明的你当然想要拿最多的糖果来吃啦啦啦~ //第二天,kAc问你还想吃糖果么?(嘿嘿嘿)说着眼角路出奇怪 ...

  5. ZOJ 3829 Known Notation(贪心)题解

    题意:给一串字符,问你最少几步能变成后缀表达式.后缀表达式定义为,1 * 1 = 1 1 *,题目所给出的字串不带空格.你可以进行两种操作:加数字,交换任意两个字符. 思路:(不)显然,最终结果数字比 ...

  6. hdu 6301 Distinct Values(贪心)题解

    题意:长为n的串,给你m个区间,这些区间内元素不重复,问这样的串字典序最小为? 思路:用set保存当前能插入的元素,这样就能直接插入最小元素了.对操作按l排序,因为排过的不用排,所以两个指针L,R是一 ...

  7. POJ - 3614 Sunscreen(贪心/二分图最大匹配-多重匹配/网络流-最大流)

    题目链接:点击查看 题目大意:给出n头奶牛,奶牛们现在要晒太阳,每头奶牛需要[l,r]区间内的光照强度,现在有m种防晒霜,每种防晒霜可以让奶牛接受到val数值的光照强度,然后每种防晒霜只有num个,现 ...

  8. HDU 5281 Senior's Gun (贪心)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5281 贪心题目,但是看看我的博客里边相关贪心的题解实在是少的可怜,这里就写出来供大家一起探讨. 题意还 ...

  9. 第十届蓝桥杯省赛题解+代码

    文章目录 组队(5分)(暴力) 年号字符(5分) 题解 AC 数列求值(10分)(递推) 题解 AC 数的分解(10分)(暴力) 题解 AC 迷宫(15分)(BFS) 题解 AC代码 特别数的和(15 ...

最新文章

  1. Apache Hook机制解析(中)——细节讨论
  2. 055_Descriptions描述列表
  3. 计算机专业技能考核方案,计算机专业技能课教学目标考核方案教程.doc
  4. 1023:坑爹的黑店
  5. python 最快 因式分解_Python实现的对一个数进行因式分解操作示例
  6. 中国移动云智融合峰会 | 1+1>2, 引领创新发展
  7. xcode w情ndows版,xcode Windows版安装使用介绍
  8. 一个SPS + K2 + InfoPath + Mobile + Exchange的工作流程演示系统
  9. 非中国服务器的时区问题
  10. 怎么检测不到我的音频_新专利显示未来的AirPods可能会检测手势 并具有旋转式音量控制功能...
  11. webservice发布及远程调用
  12. Delphi创建ActiveX控件,实现安全接口及无界面代码
  13. python通过什么对象连接数据库_Python(十一)数据库连接
  14. 查看mysql宕机原因_记录一次mysql宕机的解决办法
  15. 我的计算机制作幻灯片在哪,如何制作幻灯片呢?具体的步骤能教教我嘛?
  16. How to Install Nvidia Kernel Module Cuda and Pyrit in Kali Linux
  17. 印章识别--笛卡尔坐标系转换成极坐标系
  18. 了解【泰科】协作机器人产品资料大全
  19. 每日加瓦,终成栋房4-final、内部类、权限修饰符
  20. 铅酸电池三段式充电过程

热门文章

  1. 【微课制作软件】Focusky教程 | 怎样改变图片形状?
  2. 「Adobe国际认证」广告牌的设计也可以引人注目,但需接受这些设计建议
  3. 2008年8月22日
  4. 有趣的汉语:同音文(二):《施氏食狮史》
  5. 测量50A以上电流:意瑞隔离集成式电流传感器CH704
  6. 云栖谷楼盘沙盘_云栖谷图片相册,户型图,样板间图,装修效果图,实景图-长沙房天下...
  7. 使用第三方软件爬取微博关键字
  8. 一碗小米粥里的商业故事
  9. VBA提高篇35 VBA操作Word/PPT/Access_CreateObject/GetObject
  10. 一招解决BS转CS模式:浏览终端开发-Electron集成打包、本地配置文件及自动更新