Cod sursa(job #1880845)
| Utilizator | Data | 15 februarie 2017 22:35:25 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
#define NMAX 101
int d[NMAX][NMAX];
int main() {
int N;
f >> N;
for(int i = 1;i <= N;i++)
for(int j = 1;j <= N;j++)
f >> d[i][j];
for(int k = 1;k <= N;k++)
for(int i = 1;i <= N;i++)
for(int j = 1;j <= N;j++) /** KIJ */
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
for(int i = 1;i <= N;i++) {
for(int j = 1;j <= N;j++)
g << d[i][j] << " ";
g << "\n";
}
f.close(), g.close();
return 0;
}
