11005: 水-14
题目描述
小明最近喜欢上了五子棋
有一天,他在和别人下五子棋的时候,对方十分钟下一个字,而且对方还下的很烂,所以,他想让你帮他做一个五子棋游戏
做过前面几道题目的都知道,小明家电脑没有wifi、桌面上也只有“我的电脑”、”回收站“和”Dev-C++“(其实还有一个他爸爸——大明做的游戏计时器)
所以,小明想让你用c++做一个简易五子棋游戏(虽然小明学了114514年的c++)
输入
输出
赢的一方
黑子赢了输出"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