版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Rem_little_fan_boy/article/details/83151590
题目来源: syu校赛
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
小的时候大家一定玩过“井”字棋吧。也就是在九宫格中,只要任意行、列,或者任意连续对角线上面出现三个相同的,就能获胜。现在小明和小花也在玩三子棋,但是他们不是在九宫格里,而是在3×4的格子里面。现在小明先下,但是他知道小花这个人很聪明,他想知道第一步下在哪一个地方最合适,你能帮帮他吗?
Input
第一行输入一个整数T,表示数据组数(1<T<10000);
第二行输入两个整数x,y,表示3×4格子里面的一个坐标(x,y)(1<=x<=3,1<=y<=4);
Output
每组数据输出最后小明输赢的结果,如果小明一定能赢,第一行输出“Win”,第二行输出小明所需要花的最少步数;如果小明跟小花只能打成平手,第一行输出“Equal”,第二行输出数字0;如果小明不能赢也不能跟小花打成平手,第一行输出“Lose”,第二行输出小花赢小明所需要花的最少步数。
Input示例
2
2 1
2 4
Output示例
Equal
0
Equal
0
从题意可知这个矩形阵列是对称的,第一步下在哪里只需考虑任意一个ABCD矩形框内的情况就好了,如果先手下在D处,则只需要四步,先手必赢,在三子棋游戏中在中间占据的地位是非常容易形成“双二”的情形的,先手下在B处时,后手的人最多只能占据一个D的位置,因此也是四步之内必赢,先手下在A处时,如果后手不占据D的位置,则后手四步之内必输,如果占据了D的位置,则六步之内先手必赢,因为题目的前提是后手足够聪明,因此六步之内必赢,在C的位置时只能下成平手。
代码 :
import java.util.Scanner;
public class Demo{
public static void main(String[] args) {
int [][]c= {{6,4,4,6},{0,4,4,0},{6,4,4,6}};
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
while(n>0) {
n--;
int a,b;
a=sc.nextInt();
b=sc.nextInt();
if(c[a-1][b-1]!=0)
System.out.print("Win"+'\n'+c[a-1][b-1]+'\n');
else
System.out.print("Equal"+'\n'+c[a-1][b-1]+'\n');
}
}
}