11005: 水-14

内存限制:128 MB 时间限制:1.000 S 提交:8 解决:5
评测方式:文本比较 命题人:

题目描述

小明最近喜欢上了五子棋

有一天,他在和别人下五子棋的时候,对方十分钟下一个字,而且对方还下的很烂,所以,他想让你帮他做一个五子棋游戏

做过前面几道题目的都知道,小明家电脑没有wifi、桌面上也只有“我的电脑”、”回收站“和”Dev-C++“(其实还有一个他爸爸——大明做的游戏计时器)

所以,小明想让你用c++做一个简易五子棋游戏(虽然小明学了114514年的c++)


输入

一共5行,一行5个整数aij,分别是0、1、2(代表没下的地方、黑子和白字)

输出

赢的一方

黑子赢了输出"Black Win"(不输出双引号,注意大小写)

白子赢了输出"White Win"(不输出双引号,注意大小写)

如果没有一方赢,那么输出"No Any Win"(不输出双引号,注意大小写)

样例输入 复制

0 0 1 0 0
2 0 1 0 0
0 2 1 0 0
0 0 2 0 0
0 0 0 0 0

样例输出 复制

Black Win

提示

【数据范围】:

0<=aij<=2

【注意】:

保证没有两方都赢的情况

只考虑竖的和横的3子连珠的情况

【提示】:

这题目其实不是很复杂

只用判断 a[i][j] a[i][j+1] a[i][j+2] 或者a[i][j] a[i+1][j] a[i+2][j] 是不是为1或者2就可以了!

模板见下:

#include<bits/stdc++.h>
using namespace std;
int a[10][10],win; //保险起见数组就大点 
int main(){ 
	for(int i=1;i<=5;i++) for(int j=1;j<=5;j++) cin>>a[i][j];//输入五子棋棋盘 
	for(int i=1;i<=5;i++){
		for(int j=1;j<=5;j++){
			if(a[i][j]==1 && a[i][j+1]==1 && a[i][j+2]==1) win=1;
			else if(???) win=1;
			else if(???) win=2;
			else if(???) win=2;
		}
	}
	if(win==2) cout<<"White Win";
	else if(win==1) cout<<"Black Win";
	else cout<<"No Any Win";
	return 0;
}


看其他问题的方法见:水-11