标签:style http io color ar os sp for 数据
3 92 83 71 95 87 74 2 20 20 20 20 2 20 19 22 18
200 0 0
题目大意:有多组测试数据,对于每组测试数据第一行输入一个数字n,表示有n匹马参与比赛,接下来输入两行数据,第一行为田忌每匹马的速度,第二行为齐王每匹马的速度,输出一行表示田忌赢的钱数(赢一次的200,输一场也是200)
#include<stdio.h> #include<stdlib.h> int tian[1005],king[1005]; //从大到小排序 int com(const void *a,const void *b) { return (*(int *)b - *(int *)a); } //读入每匹马的速度 void read(int n) { int i; for(i=0;i<n;i++){ scanf("%d",&tian[i]); } for(i=0;i<n;i++){ scanf("%d",&king[i]); } } //求的赢的钱数 int match(int n) { qsort(tian,n,sizeof(tian[0]),com); qsort(king,n,sizeof(king[0]),com); int tl,tf,kl,kf,win,lose; tl = kl = n-1; tf = kf = 0; win = lose = 0; while(tf<=tl)//遍历 { if(tian[tf]>king[kf]){//若田忌最快的马比齐王最快的马快,win一场 win ++;tf ++; kf ++; } else if(tian[tl] > king[kl]){//若田忌最慢的马比齐王最慢的马快,win一场 win ++;tl--;kl--; } else { if(tian[tl]<king[kf])//若田忌最慢的马比齐王最快的马慢,lose一场 lose ++; tl--;kf++; } } return (win-lose)*200; } int main() { int n; while(scanf("%d",&n)!=EOF) { read(n); printf("%d\n",match(n)); } return 0; }
标签:style http io color ar os sp for 数据
原文地址:http://blog.csdn.net/u012437355/article/details/40918543