您的位置:首页 > 其它

NYOJ 364 田忌赛马

2012-04-02 12:52 176 查看
View Code

#include<stdio.h>
#include<stdlib.h>

int T[1001];
int K[1001];

int cmp(const void *x,const void *y)
{
int *m = (int *)x;
int *n = (int *)y;
return *m-*n;
}

int main()
{
int i,t;
while(scanf("%d",&t) != EOF)
{
for(i=0;i<t;++i)
scanf("%d",&T[i]);
for(i=0;i<t;++i)
scanf("%d",&K[i]);
qsort(T,t,sizeof(T[0]),cmp);
qsort(K,t,sizeof(K[0]),cmp);

int TH= 0;
int TT= t-1;
int KH= 0;
int KT= t-1;
int win = 0;
while(TH<=TT)//不断的缩小范围
{
if(T>K[KH])//当田忌的最慢的马比齐王的最慢的马快时  就用 最慢的对最慢的  范围缩小到(n-1)
{
win++;
TH++;
KH++;
}
else if(T[TT]>K[KT])//当田忌的最快的马比齐王的最快的马 快时,就用最快的对最快的 范围又缩小一
{
win++;
TT--;
KT--;
}
else //当以上都不成立时 比较 田忌最慢的 和 齐王最快的
{
if(T<K[KT])win--;// 比之小  则输一场  若相等 则不变  不管是小还是相等范围都又缩小
TH++;
KT--;
}
}
printf("%d\n",win*200);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: