Pagini recente » Cod sursa (job #1416525) | Cod sursa (job #818484) | Cod sursa (job #762585) | Cod sursa (job #487384) | Cod sursa (job #898154)
Cod sursa(job #898154)
#include <iostream>
#include <fstream>
using namespace std;
int N, i, j, k, MAT[105][105];
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
cin>>N;
for(i=1;i<=N;++i)
for(j=1;j<=N;++j)
cin>>MAT[i][j];
for(k=1;k<=N;++k)
for(i=1;i<=N;++i)
for(j=1;j<=N;++j)
if(MAT[i][k] && MAT[k][j] && (MAT[i][j] > MAT[i][k] + MAT[k][j] || !MAT[i][j]) && i != j)
MAT[i][j] = MAT[i][k] + MAT[k][j];
for(i=1;i<=N;++i)
{
for(j=1;j<=N;++j)
cout<<MAT[i][j]<<" ";
cout<<"\n";
}
return 0;
}