关注
第二题直接搜索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 评论
相关推荐
点赞 评论 收藏
转发
04-24 16:41
门头沟学院 中国语言文学类 大疆一直给的钱都是非常多的,但是大疆不喜欢招应届生,更倾向于社招有工作经验的3-5年的那种,年薪会达到60W,之前面过大疆和旁听社招的大疆面试是两个样子,总之薪资天花板不是大疆就是华为,车企看理想!!
点赞 评论 收藏
转发
今天 17:22
北京航空航天大学 电子信息类 点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛友的五一计划 #
24498次浏览 447人参与
# 市场营销面经 #
1619次浏览 78人参与
# 牛客帮帮团来啦!有问必答 #
412617次浏览 7950人参与
# 互联网公司评价 #
63450次浏览 902人参与
# 晒一晒我的offer #
2851685次浏览 50130人参与
# 市场营销人求职交流聚集地 #
25413次浏览 577人参与
# 许愿池 #
66895次浏览 1484人参与
# 我的上岸简历长这样 #
142516次浏览 2862人参与
# 如何看待offer收割机的行为 #
196768次浏览 3019人参与
# 非技术岗薪资爆料 #
10233次浏览 204人参与
# 提前批真的不会影响正式批吗 #
18116次浏览 229人参与
# 产品实习,你更倾向大公司or小公司 #
31504次浏览 494人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
24414次浏览 243人参与
# 在国企工作的人,躺平了吗? #
74038次浏览 904人参与
# 简历中的项目经历要怎么写 #
383265次浏览 6425人参与
# 浅聊一下我实习的辛苦费 #
71424次浏览 647人参与
# 机械制造薪资爆料 #
262408次浏览 3204人参与
# 国企和大厂硬件兄弟怎么选? #
28482次浏览 548人参与
# 双非本科求职如何逆袭 #
174413次浏览 2622人参与
# 第一次面试 #
19385次浏览 303人参与