Pagini recente » Cod sursa (job #990597) | Cod sursa (job #135130) | Cod sursa (job #585640) | Cod sursa (job #3041672) | Cod sursa (job #2276850)
#include <fstream>
using namespace std;
ifstream cin{"royfloyd.in"};
ofstream cout{"royfloyd.out"};
int n, a[105][105];
void citeste() {
cin >> n;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
cin >> a[i][j];
}
void Roy_Floyd() {
for (int mij = 1; mij <= n; ++mij)
for (int stg = 1; stg <= n; ++stg)
for (int drp = 1; drp <= n; ++drp)
if (a[stg][mij] && a[mij][drp])
if ((a[stg][mij] + a[mij][drp] < a[stg][drp] || !a[stg][drp]) && stg != drp)
a[stg][drp] = a[stg][mij] + a[mij][drp];
}
void afiseaza() {
for (int i = 1; i <= n; ++i, cout << '\n')
for (int j = 1; j <= n; ++j, cout << ' ')
cout << a[i][j];
}
int main()
{
citeste();
Roy_Floyd();
afiseaza();
}