在一个3*3的棋盘上,小红和小紫正在玩“夹吃棋”。 所谓“夹吃棋”,即如果存在一个白子,它的两侧(横向或者纵向)相邻都是黑子,则这个棋子将被“夹吃”;对于黑棋亦然。 如果一个棋盘的局面没有一方被夹吃,或者黑白双方都被对面夹吃,则认为是平局。如果只有一方夹吃了另一方,则认为夹吃方赢,被夹吃方输。 小红执黑棋,小紫执白棋,现在给定一个局面,请你判断当前棋局是谁获胜。
第一行输入一个正整数 t ,代表询问的次数。 接下来每组询问输入三行,每行是一个长度为3的字符串,字符串仅由'o'、'*'、'.'组成。其中'o'代表白棋,'*'代表黑棋,'.'代表未放置棋子。
对于每个棋局,输出一行字符串表示答案,小红获胜输出"kou",小紫获胜输出"yukari",平局输出"draw"。
3 ... o*o ... o** ooo ..* o*o *o* o*o
yukari kou draw
考点:模拟 · 博弈
限制 1 秒 / 256MB | 标准输入输出
推荐方向:模拟
不涉及复杂算法,把题目描述的流程原样翻译成代码逐步执行即可。
思路框架(模拟 通法 · 非本题专属)
实现要点:结构上通常是一个外层循环包住若干 if/else 分支;只要状态定义清楚,正确率很高。
复杂度:时间 O(操作次数) | 空间 O(状态数)
该范式的通法易错点
样例 1
3 / ... / o*o / ... / o** / ooo / ..* / o*o / *o* / o*oyukari / kou / draw解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2023年秋招-京东-技术通用岗位-第二批笔试。