#P05028. 五子棋之五子连珠次数
五子棋之五子连珠次数
题目背景
五子棋起源于中国,是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。
现在扩充传统五子棋的玩法,对弈双方交替落子若干回合后,计算并比较双方五子连珠出现情况的次数,次数多的一方获胜。
题目描述
对于 行 列个格子的棋盘,可知一共有 个交叉点,给定对弈双方交替落子若干回合后所有交叉点的落子情况,编写程序计算黑白双方五子连珠出现情况的次数。
输入格式
有若干行。
第 行是两个正整数 和 ,两者有一个空格;
接下来有 行,每行有 个字符,描述的是对弈黑白双方交替落子若干回合后所有交叉点的落子情况。字符只会是 B
、W
和 空格
中的一种,分别表示对应交叉点上 落黑子
、落白子
、没有落子
。
输出格式
两个整数,依次是黑白双方五子连珠出现情况的次数,两者中间用一个空格隔开。
输入输出样例
5 6
BBBBBB
W WBWBW
BBBWWWW
WBB WWW
BWBWBWW
BWBBWW
3 3
说明/提示
👀️ 对于的数据,,保证落子情况符合要求并且黑白子数目相等。
👀️ 使用C/C++编程解决问题,推荐使用 getchar
函数输入字符,此时要考虑行末的换行符。
👀️ 仔细研究输入输出样例,分析题目中要计算的 出现五子连珠情况的次数
的具体含义(额外提示:样例第 行中出现的 BBBBBB
,要算 次五子连珠)。