首先回顾一下田忌赛马这个古老的故事: 齐使者如梁,孙膑以刑徒阴见,说齐使。齐使以为奇,窃载与之齐。齐将田忌善而客待之。忌数与齐诸公子驰逐重射。孙子见其马足不甚相远,马有上、中、下辈。于是孙子谓田忌曰:“君弟重射,臣能令君胜。”田忌信然之,与王及诸公子逐射千金。及临质,孙子曰:“今以君之下驷与彼上驷,取君上驷与彼中驷,取君中驷与彼下驷。”既驰三辈毕,而田忌一不胜而再胜,卒得王千金。于是忌进孙子于威王。威王问兵法,遂以为师。

现在的问题: 田忌与齐王赛马,双方各有n匹马参赛(n<=100),每场比赛赌注为200两黄金,现已知齐王与田忌的每匹马的速度,并且齐王肯定是按马的速度从快到慢出场,现要你写一个程序帮助田忌计算他最好的结果是赢多少两黄金(输用负数表示)。

说明: 为了简单起见,保证2n匹马的速度均不相同。

输入格式:

输入数据的第一行为一个正整数T, 表示测试数据的组数. 然后是T组测试数据. 每组测试数据占3行,第一行是n,表示双方参赛马的数量,第2行n个正整数,表示田忌的马的速度,第3行n个正整数,表示齐王的马的速度.

输出格式:

针对每组测试数据输出一行数据,表示田忌比赛的最好结果是赢多少两黄金。

输入样例:

3
3
92 83 71
95 87 74
2
21 12
25 20
2
12 11
19 20

输出样例:

200
0
-400

思路:用栈模拟的,直接上代码了

#include<iostream>
#include<queue>
#include<cstdio>
#include<vector>
#include<set>
#include<map>
#include<string>
#include<stack>
#include<string.h>
#include<cstdlib>
#include<algorithm>
#define MAX 1010
using namespace std;
int tian[105];
int qi[105];
stack<int> st;
queue<int> que;
bool cmp(int a,int b){return a>b;
}int main(){int t;scanf("%d",&t);while(t--){int n,count=0;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&tian[i]);}for(int i=0;i<n;i++){scanf("%d",&qi[i]);}sort(tian,tian+n);sort(qi,qi+n,cmp);for(int i=0;i<n;i++){que.push(qi[i]);st.push(tian[i]);}while(!que.empty()){if(que.front()<st.top()){que.pop();st.pop();count++;}else{que.pop();count--;}}printf("%d\n",count*200);}
}

PTA7-7 田忌赛马相关推荐

  1. 田忌赛马贪心算法_田忌赛马 贪心算法

    算法实验课回顾 田忌赛马 问题描述: 你一定听说过田忌赛马的故事吧?如果3匹马变成n匹(n<=100),齐王仍然让他的马按照优到劣的顺序初赛,田忌可以按任意顺序选择他的赛马出赛.赢一局,田忌可以 ...

  2. [ZJOI2008]泡泡堂(田忌赛马贪心)

    problem 洛谷链接 solution 田忌赛马孪生兄弟. 浙江选手最坏情况就是外省最好情况,所以本质上两个子问题是同一个做法. 相信所有人都是读完题后就有田忌赛马的思想了.(如果还没上过小学语文 ...

  3. 田忌赛马c语言程序设计,还是杭电1052田忌赛马

    已结贴√ 问题点数:20 回复次数:2 还是杭电1052田忌赛马 //昨天那个算法漏洞挺大,但我重新构思了,但运行到312ms还是wa了.我测试了许多数据,结果是对的,郁闷了,谁能救救我啊? #inc ...

  4. 可以使用田忌赛马类贪心问题的前提(或说 如何判断题目符合田忌赛马类贪心问题)

    前提就是,首先,需要两个数组!!两个数组!!两个数组!!才可以考虑这个! 其次,A和B这两个数组的个数是相同的.也正因为如此,所以从大到小排序或者从小到大排序都可以解出来,因为他们都是一一对应的关系, ...

  5. 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 ...

  6. [sicily]【1001】 会议安排(田忌赛马类贪心)

    题干: N个会议要同时举行,参会人数分别为A[0], A[1], ...,A[N-1]. 现有M个会议室,会议室可容纳人数分别为B[0], B[1], ...,B[M-1]. 当A[i]<=B[ ...

  7. POJ 2287 田忌赛马(贪心)

    文章目录 1. 题目 1.1 题目链接 1.2 题目大意 1.3 解题思路 2. Accepted 代码 1. 题目 1.1 题目链接 http://poj.org/problem?id=2287 1 ...

  8. 贪心法田忌赛马问题Java代码,hdoj 1052 Tian Ji - The Horse Racing【田忌赛马】 【贪心】...

    hdoj 1052 Tian Ji -- The Horse Racing[田忌赛马] [贪心] 思路:先按从小到大排序, 然后从最快的开始比(假设i, j 是最慢的一端, flag1, flag2是 ...

  9. ❤️震惊!人生苦短,我用python来玩田忌赛马❤️

    一读标题笑死自己哈哈哈,最近猪哥(玩得敲好的彭友)找我帮忙解决他不会作业哈哈哈,他们公司自己出的笔试题哈哈哈,希望别被他们出题人看见哈哈哈,回想猪哥说的一句话,万一这就是以后你遇到的试题呢哈哈哈.突然 ...

  10. 第21课 田忌赛马 《小学生C++趣味编程》

    /* 第21课 田忌赛马 方法一 试编一程序,输入三个数, 表示3匹马跑100米的秒数,时间越小速度越快, 请按秒数的由小到大顺序输出. */ #include<iostream> usi ...

最新文章

  1. 推荐10个能带来快感的实用windows软件,好评如潮!
  2. 评论,转自于《低端没出路,请接触高端!》
  3. Leet Code OJ 260. Single Number III [Difficulty: Medium]
  4. String转换成int型
  5. 如何监测mysql主从复制状态_如何实时检测mysql主从状态,并做邮件告警?
  6. python 工程结构加固_gb50367 2013免费下载|混凝土结构加固设计规范GB50367-2013pdf高清电子版免费下载-东坡下载...
  7. 9款常用的数据可视化工具推荐
  8. matlab从mp4文件中提取音频,如何提取mp4视频中的音频文件 将视频转换为MP3音频...
  9. python生成10个随机密码_python生成10个随机密码
  10. 机顶盒ttl无法输入_连接TTL线后无法输入代码、不跑码乱码的解决方法
  11. 面试题:在9个点上画十条直线,每条直线上至少三个点
  12. Windows系统MySQL免安装下载配置
  13. 宏基因组笔记(第二章)
  14. 2018-12-24:企业微信分享功能
  15. 2022不一样的分享--行走的皮卡丘
  16. 1. 机器学习概述与特征工程
  17. Lu求解含积分的复杂非线性方程(组)
  18. Android系统开发-添加USB转串口设备驱动i.MX8M开发
  19. 微信红包助手php,php生成微信红包
  20. AUTOSAR实验七 PWM和呼吸灯

热门文章

  1. 小写数字转化为大写数字
  2. 华为手机备份app从内部恢复
  3. YOLOv7半自动标注
  4. 【system】cmd命令大全
  5. 苹果手机处理器_外媒发布2020手机处理器性能天梯榜:苹果A13、骁龙865分列一二位...
  6. kdb代码分析(七)
  7. 20164321 王君陶 Exp1 PC平台逆向破解
  8. S5PV210的IROM做了什么
  9. php办公网聊天室,使用phpFreeChat在您的网站上运行聊天室 | MOS86
  10. 台式计算机系统错误,台式电脑开机蓝屏,代码是0×0000006B,怎么修复?