关注
第二题直接搜索79% import sys
def dfs(board, x, y, last_dir, count, cls):
if count == 5:
return True
if not last_dir:
for each_dir in DIR:
temp_x = x + each_dir[0]
temp_y = y + each_dir[1]
if 0 <= temp_x < N and 0 <= temp_y < N and board[temp_x][temp_y] == cls:
rvt = dfs(board, temp_x, temp_y, each_dir, count + 1, cls)
if rvt:
return True
else:
temp_x = x + last_dir[0]
temp_y = y + last_dir[1]
if 0 <= temp_x < N and 0 <= temp_y < N and board[temp_x][temp_y] == cls:
rvt = dfs(board, temp_x, temp_y, last_dir, count + 1, cls)
if rvt:
return True
return False
if __name__ == '__main__':
N = 15
DIR = [[1, 0], [0, 1], [-1, 1], [1, 1]]
chess_board = []
for i in range(N):
temp = sys.stdin.readline().strip()
chess_board.append(temp)
count_white, count_black = 0, 0
for i in range(N):
count_white += chess_board[i].count('W')
count_black += chess_board[i].count('B')
if count_white > count_black or count_black > count_white + 1:
print("invalid board")
else:
rvt_w, rvt_b = False, False
for i in range(N):
if rvt_w:
break
for j in range(N):
if chess_board[i][j] == 'W':
rvt_w = dfs(chess_board, i, j, None, 1, 'W')
if rvt_w:
break
for i in range(N):
if rvt_b:
break
for j in range(N):
if chess_board[i][j] == 'B':
rvt_b = dfs(chess_board, i, j, None, 1, 'B')
if rvt_b:
break
if not rvt_w and not rvt_b:
if count_white + count_black == N * N:
print("draw")
else:
print("not finished")
elif rvt_w:
if count_white == count_white:
print("white win")
else:
print("invalid board")
elif rvt_b:
if count_black > count_white:
print("black win")
else:
print("invalid board")
查看原帖
2 评论
相关推荐
03-19 16:57
黑龙江大学 前端工程师 点赞 评论 收藏
分享
03-18 01:22
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# AI面会问哪些问题? #
21217次浏览 433人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
338554次浏览 2151人参与
# 米连集团26产品管培生项目 #
12614次浏览 284人参与
# 你的实习产出是真实的还是包装的? #
17173次浏览 316人参与
# 通信硬件2023笔面经 #
50432次浏览 304人参与
# 一张图晒出你司的标语 #
3318次浏览 62人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
12840次浏览 188人参与
# 蔚来求职进展汇总 #
117082次浏览 794人参与
# 找AI工作可以去哪些公司? #
6053次浏览 146人参与
# 从事AI岗需要掌握哪些技术栈? #
6192次浏览 193人参与
# 你做过最难的笔试是哪家公司 #
25011次浏览 151人参与
# 春招至今,你的战绩如何? #
54544次浏览 492人参与
# 沪漂/北漂你觉得哪个更苦? #
8319次浏览 176人参与
# 聊聊这家公司值得去吗 #
914810次浏览 4736人参与
# AI时代,哪个岗位还有“活路” #
9654次浏览 297人参与
# 长得好看会提高面试通过率吗? #
20307次浏览 236人参与
# 阿里笔试 #
172804次浏览 1272人参与
# HR最不可信的一句话是__ #
4988次浏览 98人参与
# 春招你拿到offer了吗 #
827460次浏览 9972人参与
# 学历对求职的影响 #
661183次浏览 4232人参与
# 应届生初入职场,求建议 #
318323次浏览 2895人参与
# 实习的你做了哪些离谱的工作 #
38759次浏览 253人参与