hdoj--田忌赛马后传(贪心)
2016-03-26 20:18
281 查看
田忌赛马后传
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 1045 Accepted Submission(s) : 164
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
田忌赛马相信大家都很熟悉了。。。齐王在吃过亏后洗心革面,努力钻研ACM,终于成为算法大神。他决定再次向田忌挑战,但同时他又很欣赏田忌,让他有赢的机会,于是改变了下规则:齐王和田忌各拥有n匹马,每匹马有一个速度值,快的马总是能战胜慢的马,当两匹马速度相同时为平局,现在,齐王规定每赢一场(即双方各挑出一只马决斗,用过的马不可再用)可以获得100金币,齐王要求田忌能过获得最多的金币。田忌听到后吓的不行,TMD我只会3只马的情况,多了我脑子不够用,于是求助也是算法大神的你,你能帮他解决吗?
Input
有多组测试数据。第一行为齐王和田忌各自马的数量n(n<1000),接下来两行分别有n个整数,分别为田忌和齐王的马的速度v(v<10000)
Output
对于每组数据,输出一行表示田忌能够获得的最多的金币数。
Sample Input
3 92 83 71 95 87 74 2 20 20 20 20
Sample Output
100 0
Author
bytelin南阳上的原题,田忌赛马,就是一个贪心,用自己弱的不能赢得马去消耗齐王比较厉害的马
#include<cstdio> #include<cstring> #include<queue> #include<stack> #include<iostream> #include<algorithm> using namespace std; int a[1010],b[1010],vis[1010]; int main() { int n; while(scanf("%d",&n)!=EOF) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(vis,0,sizeof(vis)); for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<n;i++) scanf("%d",&b[i]); sort(a,a+n); sort(b,b+n); int sum=0; int tjlow=0,kinglow=0; int tjfast=n-1,kingfast=n-1; int tjwin=0,kingwin=0; for(int i=0;i<n;i++) { if(a[tjlow]>b[kinglow]) { tjwin++; tjlow++,kinglow++; } else if(a[tjlow]<b[kinglow]) { tjlow++,kingfast--; kingwin++; } else { if(a[tjfast]>b[kingfast]) { tjwin++; tjfast--,kingfast--; } else if(a[tjfast]<b[kingfast]) { kingwin++; tjlow++,kingfast--; } else { if(a[tjlow]<b[kingfast]) { kingwin++; tjlow++,kingfast--; } } } } printf("%d\n",100*(tjwin-kingwin)); } return 0; }
相关文章推荐
- 根据AD中传回的上级manager信息更新系统需要的上级
- 分治法-最大字段和
- Java格式化快捷键Eclipse
- Range minimum query
- StringBuilder、StringBuffer和String三者的联系和区别
- 做高通平台安卓驱动感言
- 课堂所讲整理:HTML--8Window.document对象
- zjut1633——好简单的动态规划
- iOS Couldn't update the Keychain Item问题
- The Python Challenge
- 2016年3月23日作业
- CodeForces-626D-Jerry's Protest
- Tinyxml解析xml文件
- Tomcat热部署
- 剑指offer面试题10—二进制中1的个数
- IOS平台ASI框架 和 AFN框架 之Https通讯
- Unity3D热更新<一> 学习Lua
- 第四周上机实践项目 项目5--用递归方法求解(2)
- 深入线程:生产者与消费者问题
- gzoi2016酱油记