Cod sursa(job #3194386)
| Utilizator | Data | 17 ianuarie 2024 20:01:25 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <fstream>
using namespace std;
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
int v[101][101];
int main()
{
int n, i, j;
cin >> n;
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
cin >> v[i][j];
for(int k=1;k<=n;k++)
for(i=1;i<=n;i++)
for (j = 1; j <= n; j++)
{
if ((v[i][j] == 0 && i!=j )|| v[i][j] > v[i][k] + v[k][j])
v[i][j] = v[i][k] + v[k][j];
}
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
cout << v[i][j] << ' ';
cout << '\n';
}
}