提问python解法
查看原帖
提问python解法
581038
syfoud楼主2024/12/4 12:34
from collections import defaultdict
import numpy as np
n,m = map(int,input().split())
ar1=np.zeros((n,m),dtype=int)
ar2=np.zeros((n,m),dtype=int)

for i in range(int(n)):
    ar1[i]=input().split()
dict1=defaultdict(list)

for i in range(n):
    for j in range(m):
        dict1[ar1[i][j]].append((i,j))
for i in range(n):
    for j in range(m):
        max_num=0
        num=ar1[i][j]
        if num in dict1:
            for a,b in dict1[num]:
                max_num=max(max_num,abs(i-a)**2+abs(j-b)**2)
        ar2[i][j]=max_num
for i in ar2:
    print(*i)


90测试点6超时,求大佬优化时间复杂度

2024/12/4 12:34
加载中...