Pagini recente » Cod sursa (job #1789701) | Cod sursa (job #1070420) | Cod sursa (job #3246390) | Cod sursa (job #376707) | Cod sursa (job #2024835)
#include <bits/stdc++.h>
#define NN 101
#define infi 1000000000
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int a[NN][NN],n;
void citire(){
in>>n;
int i,j;
for(i=1;i<=n;++i)
for(j=1; j<=n; ++j)
in>>a[i][j];
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
if(!a[i][j])a[i][j]=infi;
}
void write(){
int i,j;
for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j)
if(a[i][j]==infi||i==j)out<<0<<" ";
else out<<a[i][j]<<" ";
out<<'\n';
}
}
int main()
{
citire();
int i,j , k;
for(k=1 ; k<=n ; ++k)
for(i=1 ; i<=n ; ++i)
for(j=1; j<=n; ++j)
if(a[i][j]>a[i][k]+a[k][j])a[i][j]=a[i][k]+a[k][j];
write();
return 0;
}