Pagini recente » Cod sursa (job #1737719) | Cod sursa (job #2972609) | Cod sursa (job #1589537) | Cod sursa (job #1280323) | Cod sursa (job #1766699)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f ("rf.in");
ofstream g ("rf.out");
int a[260][260],i,j,n,m,x,y,k,q,poz,b[260][260];
void roy()
{
for(i = 1; i <= n; i++)
for(j = 1; j <= n; j++)
if(i != j)
b[i][j] = 1;
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]) || !a[i][j])
{
if(a[i][k] + a[k][j] == a[i][j])
b[i][j] = max(b[i][j] , b[i][k] + b[k][j]);
if(a[i][k] + a[k][j] < a[i][j])
a[i][j] = a[i][k] + a[k][j],b[i][j] = max(b[i][j] , b[i][k] + b[k][j]);
}
}
int main()
{
f >> n;
for(i = 1; i <= n; i++)
for(j = 1; j <= n; j++)
f >> a[i][j];
roy();
for(i = 1; i <= n; i++)
{
for(j = 1; j <= n; j++)
g << a[i][j] <<" ";
g << '\n';
}
for(i = 1; i <= n; i++)
{
for(j = 1; j <= n; j++)
g << b[i][j] <<" ";
g << '\n';
}
}