行业知识
五子棋裁判
2026-10-30 06:37:00
来源:互联网转载
描述
在���序设计实践课上,老师给大家布置下了这样的实验任务:编写一个五子棋应用程序
()胜负判定是五子棋程序最核心的部分。给出当前棋盘的状态,请你完成对五子棋胜负的判定(仅考虑当前状态,不考虑后续落子)
规则:在水平、垂直或对角线方向形成5个以上棋子连续的一方获胜
()输入:
输入第一行为一个整数 t (1≤t≤100),代表一共有 t 组输入
对于每组输入:
第一行一个整数 n (1≤n≤20),代表棋盘的大小为 n× n
之后的 n 行,每行包含一个长度为 n 的字符串,代表当前棋盘的状态,其中空位用字符.表示,黑棋、白棋分别用字符BW表示
输入保证只会出现胜负未定、黑棋胜利、白棋胜利三种情况(即最多只会有一方有5连子)
输出:
输出 t 行 ,分别为每组输入的胜负结果
若黑棋胜利输出"Black", 若白棋胜利输出"White",若胜负未定则输出"Not so fast"
输入样例:
35WWWWWBBBB................5B...W.B.W...B...W.B.W...B5.........................
输出样例:
WhiteBlackNot so fast
代码实现:
#include#includechar s[21][21];int extend(int n,int i,int j){ if(s[i][j]=='.')return 0; int sum=0; int x=i; while(x=5) { if(s[i][j]=='W')return 1; else return -1; } int y=j; sum=0; while(y=5) { if(s[i][j]=='W')return 1; else return -1; } x=i,y=j,sum=0; while(x=5) { if(s[i][j]=='W')return 1; else return -1; } return 0;}int judge(int n){ for(int i=0;i