NYOJ 364 田忌赛马

View Code
 1 #include<stdio.h>
2 #include<stdlib.h>
3
4 int T[1001];
5 int K[1001];
6
7 int cmp(const void *x,const void *y)
8 {
9 int *m = (int *)x;
10 int *n = (int *)y;
11 return *m-*n;
12 }
13
14 int main()
15 {
16 int i,t;
17 while(scanf("%d",&t) != EOF)
18 {
19 for(i=0;i<t;++i)
20 scanf("%d",&T[i]);
21 for(i=0;i<t;++i)
22 scanf("%d",&K[i]);
23 qsort(T,t,sizeof(T[0]),cmp);
24 qsort(K,t,sizeof(K[0]),cmp);
25
26 int TH= 0;
27 int TT= t-1;
28 int KH= 0;
29 int KT= t-1;
30 int win = 0;
31 while(TH<=TT)//不断的缩小范围
32 {
33 if(T[TH]>K[KH])//当田忌的最慢的马比齐王的最慢的马快时 就用 最慢的对最慢的 范围缩小到(n-1)
34 {
35 win++;
36 TH++;
37 KH++;
38 }
39 else if(T[TT]>K[KT])//当田忌的最快的马比齐王的最快的马 快时,就用最快的对最快的 范围又缩小一
40 {
41 win++;
42 TT--;
43 KT--;
44 }
45 else //当以上都不成立时 比较 田忌最慢的 和 齐王最快的
46 {
47 if(T[TH]<K[KT])win--;// 比之小 则输一场 若相等 则不变 不管是小还是相等范围都又缩小
48 TH++;
49 KT--;
50 }
51 }
52 printf("%d\n",win*200);
53 }
54 return 0;
55 }

 

转载于:https://www.cnblogs.com/zhixingqiezhixing/archive/2012/04/02/2429835.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值