测试点2,3报RE求求大佬指教
查看原帖
测试点2,3报RE求求大佬指教
1164493
DaZe_zjc楼主2024/11/23 23:35
import numpy as np
nmk = input().split()
nmk = [int(i) for i in nmk]
n = nmk[0]#方阵大小
m = nmk[1]#火把个数
k = nmk[2]#萤石个数
xy = []
op = []
for i in range(m):
    xy1 = input().split()
    xy1 = [int(i)-1 for i in xy1]
    xy.append(xy1)
for i in range(k):
    op1 = input().split()
    op1 = [int(i)-1 for i in op1]
    op.append(op1)
    #生成方阵
FZ = np.zeros((n,n))
#火把位置1
for i in xy:
    FZ[max(0,i[0]-1):min(n,i[0]+1)+1,max(0,i[1]-1):min(n,i[1]+1)+1] = 3
    for j in range(max(0,i[0]-2),min(n,i[0]+2)+1):
        FZ[j,i[1]] = 3
    for k in range(max(0,i[1]-2),min(n,i[1]+2)+1):
        FZ[i[0],k] = 3
    FZ[i[0],i[1]] = 1
    
#萤石位置2
for i in op:
    FZ[max(0,i[0]-2):min(n,i[0]+2)+1,max(0,i[1]-2):min(n,i[1]+2)+1] = 3
    FZ[i[0],i[1]] = 2
    
num = 0;#计数
for i in FZ:
    for j in i:
        if j == 0:
            num += 1
print(num)
#print(FZ)
2024/11/23 23:35
加载中...