请问为什么不能把枚举中转点的循环放在枚举 2k 的指数 k 的循环之前?
正确的:
for(int t=1;t<32;t++){
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) f[i][j][t]|=(f[i][k][t-1]&f[k][j][t-1]);
}
}
错误的:
for(int k=1;k<=n;k++){
for(int t=1;t<32;t++){
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) f[i][j][t]|=(f[i][k][t-1]&f[k][j][t-1]);
}
}