关注
'''
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...就是过不去
查看原帖
点赞 评论
相关推荐
06-02 15:53
阳光学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习,不懂就问 #
5323次浏览 76人参与
# 小米提前批笔试难吗 #
34195次浏览 358人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
14863次浏览 146人参与
# 26届校招投递进展 #
32635次浏览 248人参与
# 央国企投递记录 #
88316次浏览 1362人参与
# 为了找工作你花了哪些钱? #
28672次浏览 275人参与
# 神州信息工作体验 #
11716次浏览 57人参与
# 校招第一份工作你干了多久? #
86339次浏览 399人参与
# 来聊聊你目前的求职进展 #
634485次浏览 6747人参与
# 考公还是考研,你怎么选? #
27855次浏览 140人参与
# 小米硬件提前批进度交流 #
168243次浏览 1523人参与
# 外包能不能当跳板? #
34608次浏览 221人参与
# 你觉得专业和学校哪个对薪资影响最大 #
61455次浏览 491人参与
# 设计人的面试记录 #
123643次浏览 1341人参与
# 打工人的精神状态 #
50053次浏览 867人参与
# 硬件人你反向读研了吗 #
42587次浏览 637人参与
# 如果中了500万,你会离职吗? #
84615次浏览 654人参与
# 你今年的保底offer是哪家 #
118583次浏览 538人参与
# 大疆的机械笔试比去年难吗 #
72999次浏览 619人参与
# 怎么评价今年的华为 #
129170次浏览 568人参与
# 硬件人秋招的第一个offer #
78050次浏览 1149人参与