1 条题解
-
0
C++ :
#include <iostream> #include <cstring> #include <cstdio> using namespace std; const int N = 100; const long long INF = 0x3f3f3f3f3f3f3f3f; long long n, s, x; long long g[N][N]; void floyd() { for (int k = 1; k <= n; k ++) for (int i = 1; i <= n; i ++) for (int j = 1; j <= n; j ++) if(g[i][k] != INF && g[k][j] != INF) g[i][j] = min(g[i][j], g[i][k] + g[k][j]); } int main() { cin >> n >> s; for (int i = 1; i <= n; i ++) for (int j = 1; j <= n; j ++) if(scanf("%lld", &x)) g[i][j] = x; else g[i][j] = 0x3f3f3f3f3f3f3f3f; floyd(); for (int i = 1; i <= n; i ++) if(i != s) printf("(%lld -> %lld) = %lld\n", s, i, g[s][i]); return 0; }
信息
- ID
- 2246
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者