ACM-田忌赛马(king VS king)

本文描述了一种用于判断两个国家间ACM编程竞赛胜负的算法。该算法通过比较双方选手水平,并按从弱到强顺序排列后进行逐对较量,最终得出胜者。涉及排序与对比过程。
描述

啊,从前有两个国家X和Y。两国都是兵强马壮,国王更是威猛无比。但是两个国王同时看上了一个美貌的女子,由于两个国王都深爱这名女子,都不想放弃,由于两名国王都是仁爱,害怕劳民伤财不想打仗,于是便有了个决定,决定分别派出 n 个人 来进行比赛ACM刷题;

国王们都深知( 田忌赛马这件事),于是出场的顺序都是从弱到强;每胜一场得2分,平一场得1分,输一场得0分;但是国王想要找一个裁判,因为他们都不相信对方国家的人,于是就想让你来当裁判,你一定能做到是吗??

输入
第一行有一个整数T<1<T<20>,代表有T组数据
第二行有一个整数n(1<n<100),紧随着两行,每行有n个数分别代表有X和Y国家的参赛人 员的水平,数据保证都在int 范围内。
输出
如果两国之间的分数相等,则输出 none
输出胜的一方(X或Y或none);
样例输入
3
3
4 5 6
3 2 1
5
1 2 3 4 5
2 7 1 1 2
4
1 2 3 4 
4 3 2 1
样例输出

X

X

none


代码:

01.#include<iostream>
02.using namespace std;
03.int main()
04.{
05.int t;
06.cin>>t;
07.if(t < 20&&t > 1)
08.while(t--)
09.{
10.int i,m,j,x[100],y[100],a,b,temp;
11.cin>>m;
12.if(m < 100&&m > 1)
13.for(i = 0;i < m;i++)
14.cin>>x[i];
15.for(i = 0;i < m;i++)
16.cin>>y[i];
17.a = 0;b = 0;
18.for(i = 0;i < m-1;i++)
19.for(j = 0;j < m-i-1;j++)
20.{
21.if(x[j] > x[j+1])
22.{
23.temp = x[j];
24.x[j] = x[j+1];
25.x[j+1] = temp;
26.}
27.}
28. 
29.for(i = 0;i < m-1;i++)
30.for(j = 0;j < m-i-1;j++)
31.{
32.if(y[j] > y[j+1])
33.{
34.temp = y[j];
35.y[j] = y[j+1];
36.y[j+1] = temp;
37.}
38.}
39. 
40. 
41.for(i = 0;i < m;i++)
42.{
43. 
44.if(x[i] > y[i])
45.{
46.a+=2;
47.b+=0;
48.}
49.else if(x[i]<y[i])
50.{
51. 
52.b+=2;
53.a+=0;
54.}
55.else
56.{
57.a+=1;
58.b+=1;
59.}
60.}
61.if(a == b)
62.cout<<"none"<<endl;
63.else if(a > b)
64.cout<<"X"<<endl;
65.else
66.cout<<"Y"<<endl;
67.}
68.return 0;
69.}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值