有人用python嘛,WA已经麻了
  • 板块P1162 填涂颜色
  • 楼主Wat1r
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/3/16 14:09
  • 上次更新2024/3/16 15:49:27
查看原帖
有人用python嘛,WA已经麻了
1126596
Wat1r楼主2024/3/16 14:09
#输入
queue=[]
l=int(input())
mark=land=[[0]*(l+2) for _ in range(l+2)]
tmp=[list(map(int,input().split())) for _ in range(l)]#需要的矩阵
for i in range(l):
    mark[i+1][1:l+1]=land[i+1][1:l+1]=tmp[i]


#方向函数
dirs = [
    lambda x,y:(x+1,y),
    lambda x,y:(x-1,y),
    lambda x,y:(x,y+1),
    lambda x,y:(x,y-1),
    ]

#bfs
queue.append((0,0))
while(queue):
    tmp=queue.pop(0)
    mark[tmp[0]][tmp[1]]=-1
    for dir in dirs:
        x,y=dir(tmp[0],tmp[1])
        if x>=0 and x<l+1 and y >=0 and y <l+1 and mark[x][y]==0:
            queue.append((x,y))
            

#输出
for i in range(1,l+1):
    for j in range(1,l+1):
        if land[i][j]==1:
            print('1',end=' ')
        elif land[i][j]==0 and mark[i][j]==0:
            print('2',end=' ')
        else:
            print('0',end=' ')
    print()



2024/3/16 14:09
加载中...