题目描述

赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为“战国时期”。在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都。 赛马是当时最受齐国贵族欢迎的娱乐项目。上至国王,下到大臣,常常以赛马取乐,并以重金赌输赢。田忌多次与国王及其他大臣赌输赢,屡赌屡输。一天他赛马又输了,回家后闷闷不乐。孙膑安慰他说:“下次有机会带我到马场看看,也许我能帮你。” 孙膑仔细观察后发现,田忌的马和其他人的马相差并不远,只是策略运用不当,以致失败。 比赛前田忌按照孙膑的主意,用上等马鞍将下等马装饰起来,冒充上等马,与齐王的上等马比赛。第二场比赛,还是按照孙膑的安排,田忌用自己的上等马与国王的中等马比赛,在一片喝彩中,只见田忌的马竟然冲到齐王的马前面,赢了第二场。关键的第三场,田忌的中等马和国王的下等马比赛,田忌的马又一次冲到国王的马前面,结果二比一,田忌赢了国王。 就是这么简单,现在渊子也来赛一赛马。假设每匹马都有恒定的速度,所以速度大的马一定比速度小的马先到终点(没有意外!!)。不允许出现平局。最后谁赢的场数多于一半(不包括一半),谁就是赢家(可能没有赢家)。渊子有N(1≤N≤1000)匹马参加比赛。对手的马的数量与渊子马的数量一样,并且知道所有的马的速度。聪明的你来预测一下这场世纪之战的结果,看看渊子能否赢得比赛。

输入

输入有多组测试数据。 每组测试数据包括3行: 第一行输入N(1≤N≤1000)。表示马的数量。 第二行有N个整型数字,即渊子的N匹马的速度。 第三行有N个整型数字,即对手的N匹马的速度。 当N为0时退出。

输出

首先输出一个Case i: 。

若通过聪明的你精心安排,如果渊子能赢得比赛,那么输出“YES”。 否则输出“NO”。

样例输入

5
2 3 3 4 5
1 2 3 4 5
4
2 2 1 2
2 2 3 1
0

样例输出

Case 1:
YES
Case 2:
NO

1.这个题目用到贪心算法,最终我们要实现的是这样:

2.当然要先排序啦,我用的还是快排。不明白的可以去看看。

3.排序之后我们分别 用i,和j在俩个数组中模拟比赛,i是渊子的马,j是国王的马。如果i这个位置的渊子的马能大于国王的马,我们就计数,加加。直到i或者j走完。

4.我们判断计数的值,是否大于中间量,不管奇数偶数大于n/2即可。

代码如下:

#include<stdio.h>
#define N 1010
int quicksort(int a[],int left,int right)
{if(left>=right) return 0;int i=left,j=right;int temp=a[left],t;while(i<j){while(a[j]>=temp&&i<j) j--;while(a[i]<=temp&&i<j) i++;if(i<j){t=a[i];a[i]=a[j];a[j]=t;}}a[left]=a[i];a[i]=temp;quicksort(a,left,i-1);quicksort(a,i+1,right);
}
int main()
{int n,i,win,k=0,j,jo;int a[N]={0},b[N]={0},res[N];while(~scanf("%d",&n)){if(n==0) break;win=0;for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)scanf("%d",&b[i]);quicksort(a,0,n-1);quicksort(b,0,n-1);for(i=0,j=0;i<n&&j<n;){if(a[i]>b[j]) {win++;i++;j++;}else i++;}if(win>n/2) res[k++]=1;else res[k++]=0;}for(i=0;i<k;i++){if(res[i]) printf("Case %d:\nYES\n",i+1);else printf("Case %d:\nNO\n",i+1);}return 0;//结束程序
}

渊子赛马(c语言贪心算法)相关推荐

  1. TZOJ 1004:渊子赛马

    描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为"战国时期".在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都. 赛马是当时 ...

  2. HUST1005 渊子赛马【枚举】

    1005: 渊子赛马 Time Limit: 1000 Sec  Memory Limit: 64 MB Submit: 775  Solved: 138 [Submit][Status][Web B ...

  3. c语言贪心算法ppt,c语言(贪心算法).ppt

    c语言(贪心算法).ppt ACM程序设计,杭州电子科技大学 刘春英 ,2018/12/23,2,最近几天,,你 了吗,AC,2018/12/23,3,每周一星(9),qfwr,2018/12/23, ...

  4. 第三周OJ刷题渊子赛马

    1005: 渊子赛马 Time Limit: 1000 Sec   Memory Limit:64 MB Submit: 208   Solved: 34 [ Submit][ Status][ We ...

  5. c语言渊子赛马,经典算法---渊子赛马

    描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为"战国时期".在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都. 赛马是当时 ...

  6. 赛马c语言编程,C/C++编程题之渊子赛马

    古有田忌赛马的故事,现在渊子也来赛一赛马.假设每匹马都有恒定的速度,所以速度大的马一定比速度小的马先到终点(没有意外!!).不允许出现平局.最后谁赢的场数多于一半(不包括一半),谁就是赢家(可能没有赢 ...

  7. 计蒜客 - 渊子赛马

    时间限制 1000ms 空间限制 65536K 题目描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为"战国时期".在魏国作官的孙膑,因为受到同僚庞涓 ...

  8. C/java_时隔一年,再论田忌赛马(渊子赛马)

    赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为"战国时期".在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都. 赛马是当时最受齐 ...

  9. C语言 · 贪心算法

    发现蓝桥杯上好多题目涉及到贪心,决定学一学. 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择.也就是说:不从整体最优上考虑,而是在某种意义上的局部最优解.其关键是贪心策略的选择,选择的贪心 ...

最新文章

  1. butter滤波器是iir吗_如何快速设计一个IIR滤波器
  2. 2020年,对薪资不满意的程序员要注意了...
  3. solaris UFS文件系统 要点
  4. 简单显示分配器的实现
  5. 第三十一讲:UML类图(上)
  6. 追踪社保基金操盘者的足迹-补充
  7. 解决iview表单中时间选择起的验证失败问题
  8. 静态html如何写入文件,静态HTML模板渲染
  9. 如何进行多语言发布,做国际化开发
  10. liunx 监控工具sar
  11. Grammarly SCI语法检查总结
  12. VMware Workstation 12.0.0 Pro 正式版/注册码/注册机
  13. php网站的index.php文件打开空白,其他html和php都能打开的问题所在
  14. arduino 步进电机驱动库_arduino中驱动 步进电机
  15. 微信视频号直播功能上线;全面打通视频号+公众号+小商店+直播私域生态组合;丨国仁网络资讯
  16. idea中GIT版本回退、
  17. 中华黄金·金生态合伙人颁奖典礼在珠海站开幕完美收官!!
  18. 有哪些高性价比的LoRa模块?
  19. 李宏毅language课程Speach Recongition
  20. 上手快、门槛低,微信小程序成“就业大户”

热门文章

  1. [文本纠错] pycorrector框架测试
  2. Linux安装comfast 811AC usb网卡驱动
  3. 《花开半夏》--7 陆元(2)
  4. 微信小程序挂号预约系统+后台管理系统
  5. 深度学习论文导航 | 08 ResNet:用于图像识别的深度残差网络
  6. CSS文字居中和盒子居中的使用区别
  7. 【RCNN】《Rich feature hierarchies for accurate object detection and semantic segmentation 》
  8. 计算机毕业设计Android的课程表系统app设计(源码+系统+mysql数据库+Lw文档)
  9. 需求不变,供给减少,根据基本的供需定律,WiCC的价格将会受投票的影响而上涨。
  10. 微服务调用不要轻易用PUT方法