求助最大连通域面积的题

19 views
Skip to first unread message

左阳航

unread,
Dec 27, 2018, 9:08:10 AM12/27/18
to cs10...@googlegroups.com
求助哪出错了?
总是说index out of range
f=[[0,1],[1,0],[1,1],[-1,0],[0,-1],[-1,-1],[-1,1],[1,-1]]
def dg(x,y):
global r
if x<0 or x>=n or y<0 or y>=m or l[x][y] == ".":
return
l[x][y]="."
r = r+1
for k in range(8):
dg(x+f[k][0],y+f[k][1])

N=int(input())
for i in range(N):
n,m = [int(x) for x in input().split()]
l=[list(input()) for i in range(n)]
li=[]
for q in range(n):
for w in range(m):
if l[q][w] == "W":
r=0
dg(q,w)
li.append(r)
print(max(li))


左阳航
1600015483
20181227

EVE HE

unread,
Dec 27, 2018, 8:38:55 PM12/27/18
to cs10...@googlegroups.com
那个if判断,不满足的时候你的r没有赋值,列表li是空的,比如全是“."的情况,你就没有输出。


何奕佳
1600015498


左阳航 <zuoyan...@gmail.com> 于2018年12月27日周四 下午10:08写道:
--
您收到此邮件是因为您订阅了Google网上论坛上的“cs101pku”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到cs101pku+u...@googlegroups.com
要发帖到此群组,请发送电子邮件至cs10...@googlegroups.com
访问此群组:https://groups.google.com/group/cs101pku
要查看更多选项,请访问https://groups.google.com/d/optout

zuoyan...@gmail.com

unread,
Dec 27, 2018, 9:06:59 PM12/27/18
to cs101pku
ac了! 感谢

在 2018年12月28日星期五 UTC+8上午9:38:55,EVE HE写道:
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到cs101pku+unsubscribe@googlegroups.com
Reply all
Reply to author
Forward
0 new messages