King vs King



描述

啊,从前有两个国家X和Y。两国都是兵强马壮,国王更是威猛无比。但是两个国王同时看上了一个美貌的女子,由于两个国王都深爱这名女子,都不想放弃,由于两名国王都是仁爱,害怕劳民伤财不想打仗,于是便有了个决定,决定分别派出 n 个人 来进行比赛ACM刷题;
国王们都深知( 田忌赛马这件事),于是出场的顺序都是从弱到强;每胜一场得2分,平一场得1分,输一场得0分;但是国王想要找一个裁判,因为他们都不相信对方国家的人,于是就想让你来当裁判,你一定能做到是吗??
输入

第一行有一个整数T  (大于1小于10),代表有T组数据
第二行有一个整数n   (大于1小于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

分析
1)主题循环控制。
2)动态数组申请,初始化,排序,内存回收。
3)比较俩数组各元素大小,输出结果。

代码(vs2011 c++ 编译通过): 
#include  
 //#include  
using namespace std;  
  
int main()  
{  
    int t,n,i,j,p,q;  
    cin>>t;// 主干部分循环次数控制 
    
while(t--)  
    {  
        
cin>>n;            //数组大小确定
        int *a =new int[n];//动态数组申明及初始化
   int *b=new int[n];  
        for(i=0;i<n;i++)
            cin>>a[i];
        for(i=0;i<n;i++)
            cin>>b[i]; 
       
        //sort(x,x+n);  
        //sort(y,y+n); 
for(i = 0; i< n; i++)//数组从小到大排序
        for(j = i+1; j< n; j++)
        if(a[i] > a[j])
         {
             t = a[i];
             a[i] = a[j];
             a[j] = t;
        }
for(i = 0; i< n; i++)
        for(j = i+1; j< n; j++)
        if(b[i] > b[j])
       {
             t = b[i];
             b[i] = b[j];
             b[j] = t;
         }


        p=q=0;                //比较得分信息,输出结果
        for(i=0;i
            if(a[i]>b[i]) p+=2;  
            else if(a[i]<b[i])q+=2
            else { p++; q++; }//也可以执行空语句  
  
        if(p>q)cout<<"X"<<enld;  
        else if(p<q)cout<<<q>Y"<<endl;  </q>
        else cout<<"none"<<endl;
        delete[]a;
        delete[]b;
    }  
system("pause");
return 0;
}  

return 0;
}  
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-12 10:48
已编辑
秋招之苟:邻居家老哥19届双2硕大厂开发offer拿遍了,前几天向他请教秋招,他给我看他当年的简历,0实习实验室项目技术栈跟开发基本不沾边😂,我跟他说这个放在现在中厂简历都过不了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务