小工具知识网

当前位置: 首页 > 行业知识 > 五子棋裁判

行业知识

五子棋裁判

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

上一篇:我买的日本vps怎么是美国ip

下一篇:Feelingteacher软件下载全攻略,轻松获取,感受优质教学的魅力!