关注
'''
10,10
0,0,0,0,0,0,0,0,0,0
0,0,0,1,1,0,1,0,0,0
0,1,0,0,0,0,0,1,0,1
1,0,0,0,0,0,0,0,1,1
0,0,0,1,1,1,0,0,0,1
0,0,0,0,0,0,1,0,1,1
0,1,1,0,0,0,0,0,0,0
0,0,0,1,0,1,0,0,0,0
0,0,1,0,0,1,0,0,0,0
0,1,0,0,0,0,0,0,0,0
output
6,8
'''
import sys
option = [(-1, -1), (-1, 0), (0, -1), (1, -1), (-1, +1), (0, +1), (+1, +1), (+1, 0)]
def get_max_num(list_num, m, n):
list_temp = [[0 for i in range(m)] for j in range(n)]
stacks = []
P = 0
Q = 0
q = 0
for i in range(m):
for j in range(n):
if list_num[i][j] == 1 and list_temp[i][j] == 1:
continue
if list_num[i][j] == 1 and list_temp[i][j] == 0:
P += 1
# print((i,j))
list_temp[i][j] = 1
q += 1
for s in option:
if (i + s[0]) < m and (j + s[1]) < n \
and (i + s[0]) >= 0 and (j + s[1]) >= 0:
if list_num[i + s[0]][j + s[1]] == 1 and list_temp[i + s[0]][j + s[1]] != 1:
stacks.append((i + s[0], j + s[1]))
q += 1
# print(stacks)
while(stacks):
list_n = []
for stack_index in range(len(stacks)):
st = stacks[stack_index]
list_temp[st[0]][st[1]] = 1
for s in option:
if (st[0] + s[0]) < m and (st[1] + s[1]) < n \
and (st[0] + s[0]) >= 0 and (st[1] + s[1]) >= 0:
if list_num[st[0] + s[0]][st[1] + s[1]] == 1 \
and list_temp[st[0] + s[0]][st[1] + s[1]] == 0:
if(st[0] + s[0], st[1] + s[1]) not in stacks:
stacks.append((st[0] + s[0], st[1] + s[1]))
q += 1
list_n.append(stack_index)
# print(stacks, list_n)
list_n.sort(reverse = True)
for ls in list_n:
stacks.pop(ls)
Q = max(Q, q)
q = 0
return P, Q
if __name__ == "__main__":
m, n = sys.stdin.readline().strip().split(',')
list_num = []
for i in range(int(m)):
# 读取每一行
line = sys.stdin.readline().strip()
# 把每一行的数字分隔后转化成int列表
values = list(map(int, line.split(',')))
list_num.append(values)
if m == 0 and n == 0:
print('0,0')
else:
a, b = get_max_num(list_num, int(m), int(n))
print(str(a)+','+str(b))
80...就是过不去
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
07-03 14:38
东北大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得实习能学到东西吗 #
32013次浏览 648人参与
# 发工资后,你做的第一件事是什么 #
67710次浏览 229人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
26436次浏览 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人参与