Pagini recente » Monitorul de evaluare | Cod sursa (job #1488158) | Cod sursa (job #3281326) | Cod sursa (job #279856) | Cod sursa (job #1489626)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
#define MAXN 105
int n, a[MAXN][MAXN];
int main() {
int i, j, k;
fin>>n;
for(i=1; i<=n; ++i)
for(j=1; j<=n; ++j)
fin>>a[i][j];
for(k=1; k<=n; ++k)
for(i=1; i<=n; ++i)
for(j=1; j<=n; ++j)
if(a[i][k] && a[k][j] && i!=j)
if(!a[i][j] || a[i][j]>a[i][k]+a[k][j])
a[i][j]=a[i][k]+a[k][j];
for(i=1; i<=n; ++i){
for(j=1; j<=n; ++j)
fout<<a[i][j]<<" ";
fout<<'\n';
}
return 0;
}