#1237. [202406月赛] 五子棋
[202406月赛] 五子棋
背景
最近在方块鸟的同学间兴起了「桌游」热,比如棋类的如飞行棋、五子棋、军棋、斗兽棋,卡牌类的如三国杀,模拟策略类的比如大富翁、卡坦岛等等。想要在这些游戏里面取得胜利,需要开动脑筋制定最优策略,但有时又得拥抱运气 (比如飞行棋里一直仍不出6 ),是很好的娱乐活动。
描述
小Z除了在方块鸟学习编程,还在学习围棋,在小小的棋盘里,黑白色的棋子交替落下,比拼谁占的领地多来分个高低。说是这么说,但想要下好一盘围棋,还真不容易。事实上,围棋的复杂度是所有棋中最高的,大约是,总共可能的变化有
写出来的数字都有108位,可怕吧?
所以大部分同学见到黑白两色的棋子和棋盘,想到的都是五子棋。
五子棋是比的是黑白双方谁能先把自己的棋子五个连成一线,既然是这样,那先下的一方肯定有优势嘛,为了公平起见,正式的比赛里,都会采取分先决定谁先下谁后下,以下是一种利用「猜子」来分先的方法。
「猜子」是让用白棋的棋士先抓一把白子,放到棋盘上,并用手掌盖起来;接下来让用黑棋的棋士也抓起一把黑子,放到棋盘上。随后,把双方抓取棋子的数量加起来,如果是单数的话,就是抓白棋的棋士先手,否则就是抓黑棋的棋士先手。
决定了谁先下谁后下,比赛就正式打响啦。
小方小块小鸟分析了一下,想到:
- 其棋盘,不就是一个二维数组嘛,
- 相互落子,不就是根据x、y坐标去更新这个二维数组的嘛,
- 判断胜负,不就是利用二维数组的x、y坐标去判断有没有满足以下三种条件之一的的五颗子嘛,
看起来都是已经掌握的内容了,能搞!
正当小方小块小鸟撸起袖子准备在arcade或者pygame上实现一个五子棋游戏的时候,他们发现,分先的程序不好做啊,于是想到把这个任务交给你了。
你需要编写一个程序,录入双方的名字(先录白棋选手,再录黑棋选手),和抓取的棋子数量,最后输出先手选手的名字。
输入输出格式
输入
两行,第一行为白棋选手的名字以及抓取棋子的数量,以空格分割。
第二行为黑棋选手的名字以及抓取棋子的数量,以空格分割。
名字仅包含小写字母拼音,抓取棋子数量不超过50。
输出
一行,先手选手的名字。
样例
xiaofang 3
xiaokuai 1
xiaokuai