python有关时间复杂度耗时

我用到了一个O(n三次方)的floyd算法
三层循环都是遍历1到2021
那这样子是不是几个小时都跑不出来

def lcm(a,b):
    s=a*b
    while b:
        a,b=b,a%b
    return int(s/a)

graph=[[float('inf')]*2022 for i in range(2022)]

for i in range(1,2022):#[inf,inf,inf...],赋予边权
    try:
        if i<=2000:
            for j in range(i,i+22):
                graph[i][j]=lcm(i,j)
        else:
            for j in range(i,2022):
                graph[i][j]=lcm(i,j)
    except:
        print(i,j)
        break

for i in range(1,2022):
    for j in range(1,2022):
        graph[i][j]=max(graph[i][j],graph[j][i])


for k in range(1,2022):
    for i in range(1,2022):
        for j in range(1,2022):
            graph[i][j]=min(graph[i][k],graph[k][j])

print(graph[1][2021])

不是啊,计算机的计算速度很快的,要不多久就跑完了