Pagini recente » Cod sursa (job #2232107) | Cod sursa (job #1646677) | Cod sursa (job #2146858) | Cod sursa (job #1535557) | Cod sursa (job #1465122)
#include <iostream>
using namespace std;
int N,i,j,length[260][260],nmbOfStreets[260][260],k;
int main()
{
freopen("rf.in","r",stdin);
freopen("rf.out","w",stdout);
cin>>N;
for (i=0;i<N;++i)
for (j=0;j<N;++j)
{
cin>>length[i][j];
if (length[i][j]>0) nmbOfStreets[i][j]=1;
else nmbOfStreets[i][j]=0;
}
for (k=0;k<N;++k)
for (i=0;i<N;++i)
for (j=0;j<N;++j)
if (length[i][k]>0 && length[k][j]>0 && (length[i][j]==0 || length[i][j]>length[i][k]+length[k][j]) && i!=j)
{
length[i][j]=length[i][k]+length[k][j];
nmbOfStreets[i][j]=nmbOfStreets[i][k]+nmbOfStreets[k][j];
}
for (i=0;i<N;++i)
{
for (j=0;j<N;++j)
cout<<length[i][j]<<" ";
cout<<endl;
}
for (i=0;i<N;++i)
{
for (j=0;j<N;++j)
cout<<nmbOfStreets[i][j]<<" ";
cout<<endl;
}
}