Cod sursa(job #2549429)
| Utilizator | Data | 17 februarie 2020 18:04:45 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream of("royfloyd.out");
int a[101][101];
int main()
{
int n, i, j, k;
f >> n;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
f >> a[i][j];
for(k = 0; k < n; k++)
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
if( a[i][k] && a[k][j] && i != j && a[i][j] > a[i][k] + a[k][j] )
a[i][j] = a[i][k] + a[k][j];
for(i = 0; i < n; i++){
for(j = 0; j < n; j++)
of << a[i][j] << " ";
of << endl;
}
return 0;
}
