LA3266田忌赛马
题意:
田忌和齐王赛马,两个人每人n匹马,每个马都有自己的速度,赢一场得到200分,输一场失去200分,平则不得分,问田忌可能得到的最高得分是多少?
思路:
又是一个比较经典的贪心小题目,这个题目很容易想到,就是我们先排序,然后我们这样想,如果我们是田忌,对方是齐王,首先我们可以拿最快的那个马和他最快的那个马比一下,如果能赢,那么直接比赛,得到一分,这个不用质疑,因为用自己的最强去得分的同时还削弱的对方的最强,这个果断是最优的,然后如果比不过呢?比不过就有可能面临着这一局要输的节奏,反正也是输,我们就找一个我们最小的去和他最大的比,去浪费他的最大的,这样输的有价值,但是这是后要注意一点,就是如果我们最小的比他的最小的大,那么我们还不如用我们最小的和他的最小的比一次,先赢200分,前面的那个打不过先放一下,在处理晚处理都一样,现在能赢一次是一次,那么整理后就是这样:先用最想的和他最强的比,如果能打赢就打,否则就看看我们最弱的能不能打得过他的最弱的,如果能赢就直接比,否则就拿最弱的去换他最强的,输的有价值点,还有就是有一个小地方要注意,如果我们打算用最弱的换最强的了,发现最弱的和他最强的一样,那么这时候我们是不输钱的,其实这个时候应该是直接可以break了吧,我没想错的话这个时候双方剩下的所有马的速度都是一样的。
#include<stdio.h>
#include<algorithm>
#define N 1000 + 10
using namespace std;
bool camp(int a ,int b)
{
return a > b;
}
int num1[N] ,num2[N];
int main ()
{
int i ,n ,l1 ,l2 ,r1 ,r2, Ans;
while(~scanf("%d" ,&n) && n)
{
for(i = 1 ;i <= n ;i ++)
scanf("%d" ,&num1[i]);
for(i = 1 ;i <= n ;i ++)
scanf("%d" ,&num2[i]);
sort(num1 + 1 ,num1 + n + 1 ,camp);
sort(num2 + 1 ,num2 + n + 1 ,camp);
l1 = l2 = 1 ,r1 = r2 = n;
Ans = 0;
while(n--)
{
if(num1[l1] > num2[l2])
{
l1 ++ ,l2 ++;
Ans ++;
}
else if(num1[r1] > num2[r2])
{
r1 -- ,r2 --;
Ans ++;
}
else
{
if(num1[r1] < num2[l2])
Ans --;
r1 -- ,l2 ++;
}
}
printf("%d\n" ,Ans * 200);
}
return 0;
}
LA3266田忌赛马的更多相关文章
- nyoj 364 田忌赛马(贪心)
田忌赛马 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 Here is a famous story in Chinese history. "That ...
- [codevs2181]田忌赛马
[codevs2181]田忌赛马 试题描述 中国古代的历史故事"田忌赛马"是为大家所熟知的.话说齐王和田忌又要赛马了,他们各派出N匹马,每场比赛,输的一方将要给赢的一方200两黄金 ...
- ACM 田忌赛马
田忌赛马 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 Here is a famous story in Chinese history. "That ...
- TYVJ P1048 田忌赛马 Label:dp
描述 中国古代的历史故事“田忌赛马”是为大家所熟知的.话说齐王和田忌又要赛马了,他们各派出N匹马,每场比赛,输的一方将要给赢的一方200两黄金,如果是平局的话,双方都不必拿出钱.现在每匹马的速 ...
- HDUOJ-------1052Tian Ji -- The Horse Racing(田忌赛马)
Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- D - D 田忌赛马
D - D 田忌赛马 解题报告 hdu 1052 Tian Ji -- The Horse Racing 链接:http://acm.hust.edu.cn/vjudge/contest/v ...
- HDOJ-1052 田忌赛马(贪心)
田忌赛马 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述: Here is a famous story in Chinese history. "That was ...
- [洛谷P1650] 田忌赛马
贪心难题:总结贪心问题的一般思路 传送门:$>here<$ 题意 田忌和齐王各有n匹马,赛马时一一对应.赢+200,输-200,平+0. 问最多多少钱? 数据范围:$n \leq 2000 ...
- Python3-大魔王小项目-田忌赛马
本人今天第一次接触项目,花了4小时,不包括学习时间,特此留个纪念 记录一下那些年走过的坑,以资鼓励 英语不怎么好,随缘看看 内容: 类似田忌赛马,三盘两胜,属性人物在一定范围内随机,就这样了 code ...
随机推荐
- 解读KMP算法
前后断断续续搞了5个月,每次都以为自己懂了, 但是要写的时候都不知从何下手,然后又是各种找博客,看帖子,所以这次试着用自己的语言写一个博客. 首先,KMP算法就是从一个模板字符串(S) 中匹配目标字符 ...
- 常用开发库 - MapStruct工具库详解
常用开发库 - MapStruct工具库详解 MapStruct是一款非常实用Java工具,主要用于解决对象之间的拷贝问题,比如PO/DTO/VO/QueryParam之间的转换问题.区别于BeanU ...
- 数据库SQL查询作业
--设有三个关系 --S(S#,SNAME,AGE,SEX) --SC(S#,C#,GRADE) --C(C#,CNAME,TEACHER) --(1)检索LIU老师所授课程的课程号.课程名 sele ...
- 文本相似性计算--MinHash和LSH算法
给定N个集合,从中找到相似的集合对,如何实现呢?直观的方法是比较任意两个集合.那么可以十分精确的找到每一对相似的集合,但是时间复杂度是O(n2).此外,假如,N个集合中只有少数几对集合相似,绝大多数集 ...
- SSM-员工管理项目实战-CRUD-增删改查
SSM-CRUD 一.项目简介 主界面演示 功能点 分页 数据校验 ajax Rest 风格的 URI 技术点 基础框架 - ssm(Spring + SpringMVC + MyBatis) 数据库 ...
- Java读取图片exif信息实现图片方向自动纠正
起因 一个对试卷进行OCR识别需求,需要实现一个功能,一个章节下的题目图片需要上下拼接合成一张大图,起初写了一个工具实现图片的合并,程序一直很稳定的运行着,有一反馈合成的图片方向不对,起初怀疑是本身图 ...
- 201871010109-胡欢欢-实验一-软件工程的准备(初识github及《现代软件工程-构建之法》)
项目 内容 课程班级博客链接 2021年春软件工程课程班(2018级计算机科学与技术) 这个作业要求链接链接 实验一软件工程准备 我的课程学习目标 了解github的基本使用,学习markdown编辑 ...
- Dynamics CRM各个版本的元数据浏览解决方案
https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/browse-your-me ...
- Java 时间日期系列
Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(1) Calendar Java Calendar,Date,DateFormat ...
- hadoop 简单安装部署
hadoop第一课:虚拟机搭建和安装hadoop及启动 hadoop第二课:hdfs集群集中管理和hadoop文件操作 hadoop第三课:java开发hdfs hadoop第四课:Yarn和Map/ ...