happywhite1991 @ 2021-07-04 16:44:44
#c1是用来从(0,0)点开始,把外围的0全变成-1
def cl(i,j):
global n
if px[i][j]==0:
px[i][j]=-1
if i+1<=n+1:
cl(i+1,j)
if j+1<=n+1:
cl(i,j+1)
if i-1>=0:
cl(i-1,j)
if j-1>=0:
cl(i,j-1)
n=int(input())
#建立一个二元列表,在N*N的基础上上下左右都加一层保证左上角(0,0)=0,并且外圈一定联通
#实际数据为(1,1)到(N,N)
px=[[0 for i in range(n+2)]for j in range(n+2)]
for i in range(1,n+1):
s=input()
count=0
for j in s:
if j!=' ':
count+=1
px[i][count]=int(j)
cl(0,0)
for i in range(1,n+1):
s=''
for j in range(1,n+1):
if px[i][j]==1:
s=s+'1'+' '
if px[i][j]==0:
s=s+'2'+' '
if px[i][j]==-1:
s=s+'0'+' '
print(s[:(2*n-1)])
最后一个点是过的,但是前面都RE,想知道RE在那里了
by Cat_shao @ 2021-07-04 18:05:56
仔细看,输入中两个数字之间是有空格的。
假如真的想当一名OIer,我想说:
如果就是想练练python,luogu也不是一个坏选择。但是如果您是为了打信竞而来,建议使用C++。
by happywhite1991 @ 2021-07-04 18:12:48
@Cat_shao 哟 大神有缘啊tot