问题 I: 田忌赛马
时间限制: 0 Sec 内存限制: 128 MB
题目描述
中国古代的历史故事“田忌赛马”是为大家所熟知的。话说齐王和田忌又要赛马了,他们各派出N匹马,每场比赛,输的一方将要给赢的一方200两黄金,如果是平局的话,双方都不必拿出钱。现在每匹马的速度值是固定而且已知的,而齐王出马也不管田忌的出马顺序。请问田忌该如何安排自己的马去对抗齐王的马,才能赢取最多的钱?
输入
第一行为一个正整数n (n < = 10000) ,表示双方马的数量。 第二行有N个整数表示田忌的马的速度。 第三行的N个整数为齐王的马的速度。
输出
仅有一行,为田忌赛马可能赢得的最多的钱,结果有可能为负。
样例输入
3
92 83 71
95 87 74
样例输出
200
参考答案
#include<bits/stdc++.h>
using namespace std;
int a[2010], b[2010];
int ans;
int main() {int n;cin >> n;for(int i = 1; i <= n; i++)cin >> a[i];for(int i = 1; i <= n; i++)cin >> b[i];sort(a + 1, a + 1 + n);sort(b + 1, b + 1 + n);int ra = n, rb = n, la = 1, lb = 1;while(lb <= rb) {if(a[la] > b[lb]) {la++,lb++;ans++;} else if(a[la] < b[lb]) {rb--,ans--;la++;} else if(a[la] == b[lb]) {if(a[ra] > b[rb]) {ans++;ra--,rb--;} else {if(a[la] < b[rb]) ans--;la++,rb--;}}}cout << ans * 200;return 0;
}
问题 I: 田忌赛马相关推荐
- 田忌赛马贪心算法_田忌赛马 贪心算法
算法实验课回顾 田忌赛马 问题描述: 你一定听说过田忌赛马的故事吧?如果3匹马变成n匹(n<=100),齐王仍然让他的马按照优到劣的顺序初赛,田忌可以按任意顺序选择他的赛马出赛.赢一局,田忌可以 ...
- [ZJOI2008]泡泡堂(田忌赛马贪心)
problem 洛谷链接 solution 田忌赛马孪生兄弟. 浙江选手最坏情况就是外省最好情况,所以本质上两个子问题是同一个做法. 相信所有人都是读完题后就有田忌赛马的思想了.(如果还没上过小学语文 ...
- 田忌赛马c语言程序设计,还是杭电1052田忌赛马
已结贴√ 问题点数:20 回复次数:2 还是杭电1052田忌赛马 //昨天那个算法漏洞挺大,但我重新构思了,但运行到312ms还是wa了.我测试了许多数据,结果是对的,郁闷了,谁能救救我啊? #inc ...
- 可以使用田忌赛马类贪心问题的前提(或说 如何判断题目符合田忌赛马类贪心问题)
前提就是,首先,需要两个数组!!两个数组!!两个数组!!才可以考虑这个! 其次,A和B这两个数组的个数是相同的.也正因为如此,所以从大到小排序或者从小到大排序都可以解出来,因为他们都是一一对应的关系, ...
- cf#401(Div. 2)B. Game of Credit Card(田忌赛马类贪心)
题干: After the fourth season Sherlock and Moriary have realized the whole foolishness of the battle b ...
- [sicily]【1001】 会议安排(田忌赛马类贪心)
题干: N个会议要同时举行,参会人数分别为A[0], A[1], ...,A[N-1]. 现有M个会议室,会议室可容纳人数分别为B[0], B[1], ...,B[M-1]. 当A[i]<=B[ ...
- POJ 2287 田忌赛马(贪心)
文章目录 1. 题目 1.1 题目链接 1.2 题目大意 1.3 解题思路 2. Accepted 代码 1. 题目 1.1 题目链接 http://poj.org/problem?id=2287 1 ...
- 贪心法田忌赛马问题Java代码,hdoj 1052 Tian Ji - The Horse Racing【田忌赛马】 【贪心】...
hdoj 1052 Tian Ji -- The Horse Racing[田忌赛马] [贪心] 思路:先按从小到大排序, 然后从最快的开始比(假设i, j 是最慢的一端, flag1, flag2是 ...
- ❤️震惊!人生苦短,我用python来玩田忌赛马❤️
一读标题笑死自己哈哈哈,最近猪哥(玩得敲好的彭友)找我帮忙解决他不会作业哈哈哈,他们公司自己出的笔试题哈哈哈,希望别被他们出题人看见哈哈哈,回想猪哥说的一句话,万一这就是以后你遇到的试题呢哈哈哈.突然 ...
- 第21课 田忌赛马 《小学生C++趣味编程》
/* 第21课 田忌赛马 方法一 试编一程序,输入三个数, 表示3匹马跑100米的秒数,时间越小速度越快, 请按秒数的由小到大顺序输出. */ #include<iostream> usi ...
最新文章
- 二叉树:最近的公共祖先 Lowest Common Ancestor of a Binary Tree
- SQL查询或删除数据库中重复记录
- BigData-‘基于代价优化’究竟是怎么一回事?
- js在for循环中绑定事件
- java中的内省 (Introspector)
- ABAP COLLECT语句用法深入解析
- java中配置bean_Spring中基于Java的配置@Configuration和@Bean用法
- Java黑皮书课后题第7章:7.10(找出最小元素的下标)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素下标。编写测试程序,提示用户输入10个数字,调用这个方法返回最小值的下标(多个则最小
- [转] 更新Flash CS6发布设置的目标播放器版本
- 计算机中的数(一):数在计算机中的表示
- 读取txt原理_Mysql客户端任意文件读取学习
- 复制远程服务器的文件 报错 scp: not a regular file
- Cloudera Manager安装之Cloudera Manager 5.3.X安装(三)(tar方式、rpm方式和yum方式)...
- Python 进阶——从 list 到 NumPy 的多维数组
- 《Python参考手册(第4版•修订版)》——1.8 集合
- 位说法的由来_南方土地庙有榕树的原因,为何会有榕树不容人的说法?
- python项目方案书模板格式_项目策划书格式范文
- Smobiler打包apk安装包——C# 或.NET Smobiler实例开发手机app(四)
- Windows字体美化指南
- 有关reducer拆分的学习