5 条题解

  • 0
    @ 2024-5-15 11:55:14
    def bfs(x,y):
        que=[[x,y]]
        step=[[1,0],[-1,0],[0,1],[0,-1]]
        while que!=[]:
            p=que.pop(0)
            a[p[0]][p[1]]=0
            for i in step:
                nx=p[0]+i[0];ny=p[1]+i[1]
                if 0<=nx<n and 0<=ny<m and a[nx][ny]==1:
                    que.append([nx,ny])
            
    
    n,m=map(int,input().split())
    a=[]
    for i in range(n):
        a.append(list(map(int,input().split())))  
    #print(a)
    ans=0
    for i in range(n):
        for j in range(m):
            if a[i][j]==1:
                ans+=1
                bfs(i,j)
    #            print(ans,a)
    print(ans)
    

    信息

    ID
    818
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    353
    已通过
    146
    上传者