关注
def if_has_next(arr, i, j, curr): arr[i][j] = 0 next = [] left = max(j-1, 0) right = min(j+1, N-1) top = max(i-1, 0) down = min(i+1, M-1) for row in range(top, down+1): for col in range(left, right+1): if arr[row][col] == 1: arr[row][col] = 0 next.append([row, col]) if next: for loc in next: curr += 1 curr = if_has_next(arr, loc[0], loc[1], curr) return curr if __name__ == "__main__": M, N = tuple(map(int, input().split(','))) arr = [list(map(int, input().split(','))) for _ in range(M)] P = 0 Q = 0 for i in range(M): for j in range(N): curr_q = 0 if arr[i][j] == 0: continue else: P += 1 curr_q += 1 curr_q = if_has_next(arr, i, j, curr_q) # print('{}{},{}'.format(i,j,curr_q)) Q = max(Q, curr_q) print("{},{}".format(P, Q)) 仅有的一道ac...献丑了,大神轻喷。。 大概思路就是dfs,一直搜索下去看是否有临近的观众 需要注意的点就是搜过的位置要将“1”改成“0” 边界处理是个头疼的事,debug了好久。。(毕竟渣)
查看原帖
点赞 评论
相关推荐
05-30 00:12
江西服装学院 Java 头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得实习能学到东西吗 #
32013次浏览 648人参与
# 发工资后,你做的第一件事是什么 #
67710次浏览 229人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
26437次浏览 213人参与
# 秋招什么时候开投比较合适? #
19902次浏览 277人参与
# 工作中哪个瞬间让你想离职 #
25549次浏览 177人参与
# 如何准备秋招 #
18627次浏览 352人参与
# 百度工作体验 #
220213次浏览 1959人参与
# 快手求职进展汇总 #
546595次浏览 6001人参与
# 硬件应届生薪资是否普遍偏低? #
73727次浏览 514人参与
# 机械人集合!你是什么工程师? #
15455次浏览 89人参与
# 实习,不懂就问 #
43068次浏览 652人参与
# 你们公司几号发工资 #
20651次浏览 139人参与
# 不考虑转正,实习多久合适 #
31728次浏览 145人参与
# 软开人,秋招你打算投哪些公司呢 #
102591次浏览 958人参与
# 每个月的工资都是怎么分配的? #
25989次浏览 414人参与
# 机械人与华为的爱恨情仇 #
116361次浏览 942人参与
# 你觉得现在还能进互联网吗? #
7779次浏览 130人参与
# 预测一下26届秋招形势 #
39072次浏览 301人参与
# 多益网络求职进展汇总 #
28893次浏览 134人参与
# 元戎启行求职进展汇总 #
32429次浏览 240人参与
# 面试中,你被问过哪些奇葩问题? #
68229次浏览 796人参与