Floyd 板子求助

P2009 跑步

@[Moon_Traveller](/user/682394) ```cpp #include <iostream> #include <cstring> using namespace std; int n, K; int link[25][25]; char st, ed; int main() { cin >> n >> K; memset(link, 0x3f, sizeof(link)); for(int i = 1; i < n; i++) { int tmp; cin >> tmp; link[i][i + 1] = tmp; link[i + 1][i] = tmp; } int tmp; cin >> tmp; link[n][1] = tmp; link[1][n] = tmp; for(int i = 1; i <= K; i++) { char a, b; int x, y, tmp; cin >> a >> b >> tmp; x = a - 'A' + 1; y = b - 'A' + 1; if(tmp > link[x][y] || link[x][y] == 0x3f3f3f3f) { link[x][y] = tmp; link[y][x] = tmp; } } cin >> st >> ed; for(int k = 1; k <= n; k++) { for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { link[i][j] = min(link[i][j], link[i][k] + link[k][j]); link[j][i] = link[i][j]; } } } cout << link[st - 'A' + 1][ed - 'A' + 1] << endl; return 0; } ```
by kkxacj @ 2023-04-30 22:09:21


@[kkxacj](/user/704089) 长知识了,原来要写成 `0x3f3f3f3f`…… 非常感谢!
by Moon_Traveller @ 2023-05-01 20:02:54


|