Pagini recente » Cod sursa (job #1802862) | Cod sursa (job #841301) | Cod sursa (job #1378932) | Cod sursa (job #141811) | Cod sursa (job #1428583)
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
//#include <conio.h>
#define pb push_back
#define mp make_pair
#define MOD 1000000007
#define newl printf("\n")
using namespace std;
int n,a[260][260],b[260][260];
int main()
{
freopen("rf.in","r",stdin);
freopen("rf.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
if (a[i][j]!=0) b[i][j]=1;
}
}
for (int k=1;k<=n;k++)
{
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
if (a[i][k] && a[k][j] && i!=j)
{
if (a[i][k]+a[k][j]<a[i][j])
a[i][j]=a[i][k]+a[k][j];
if (a[i][k]+a[k][j]==a[i][j])
b[i][j]=max(b[i][j],b[i][k]+b[k][j]);
}
}
}
}
for (int i=1;i<=n;i++,newl)
for (int j=1;j<=n;j++)
printf("%d ",a[i][j]);
for (int i=1;i<=n;i++,newl)
for (int j=1;j<=n;j++)
printf("%d ",b[i][j]);
return 0;
}