题目描述
小 X 凭借出色的棋艺被聘请为少年宫的中国象棋老师。少年宫改造以后所有的设施都焕然一新,象棋教室已不再使用传统的木制棋子和棋盘了,小朋友们所有的操作都是在电脑上进行的,如猜先、对弈、复盘、计算积分等,这给老师的备课带来了极大的挑战,因为除了正常的棋艺教学,还要开发各种应用程序来辅助教学。众所周知任何棋类运动开局前都要猜先,如围棋项目猜先仪式是由上手抓起一把围棋子让对手猜单双,猜中先行。而象棋则是甲、乙两人同时从各自的棋盒中摸出一枚棋子比大小,连续比三次, 获胜次数多的一方执红先行,另一方则执黑后行。
因现在所有的操作都要在电脑上实现,小 X 需要编写一个象棋猜先程序,具体任务如下: 象棋中有七种棋子,分别是帅、士、相、车、马、炮、兵,程序中用 7,6,5,4,3,2,1表示,定义大小的规则为:帅>士>相>车>马>炮,兵最弱,除了帅之外的棋子都比兵大,士>相>车>马>炮>兵,但兵却能吃帅,即兵>帅。
猜先程序要能实现以下功能:输入三行数据,每行两个棋子的编号,判断谁胜谁负。小 X 觉得这个程序太简单了,于是交给了参加本次比赛的你来完成。
输入
输入数据共有三行,每行两个用空格隔开的正整数,表示两个棋子对应的编号,第一个数对应甲摸出的棋子的编号,第二个数对应乙摸出的棋子的编号。
输出
输出一行包含一个单词,如甲获胜的次数比乙多则输出“Win”,如乙获胜的次数多则输出“Lose”,如甲乙两人获胜次数相同则输出“Tie”。请注意大小写, 引号不用输出!
样例输入
6 2 3 3 7 1
样例输出
Tie
提示
【样例解释】
第一次甲摸出的棋子是士,编号为 6,乙摸出的棋子是炮,编号为 2,甲胜; 第二次甲乙摸出的棋子都是马,编号为 3,平; 第三次甲摸出的棋子是帅,编号为 7,乙摸出的棋子是兵,编号为 1,乙胜; 三次比下来结果为平手。
【数据范围】
对于 30%的数据不会出现 7
对于 100%的数据, 每种结果对应的数据均不少于 1/3
代码如下:
#include<bits/stdc++.h>
using namespace std;
long long a[7],b[7],x,y;
int main(){
for(int i=1;i<=3;i++){
cin>>a[i]>>b[i];
if(a[i]==7&&b[i]==1){//特殊情况,兵能吃帅(甲是帅,乙是兵)
y++;
}else if(a[i]==1&&b[i]==7){//特殊情况,兵能吃帅(甲是兵,乙是帅)
x++;
}else{
if(a[i]>b[i]) x++;//普通情况(甲比乙数大)
if(a[i]<b[i]) y++;//普通情况(甲比乙数小)
}//平局不用加减,省略
}
if(x>y) cout<<"Win";//如甲获胜的次数比乙多则输出“Win”
if(x<y) cout<<"Lose";//如乙获胜的次数多则输出“Lose”
if(x==y) cout<<"Tie";//如甲乙两人获胜次数相同则输出“Tie”
return 0;
}