Pagini recente » Cod sursa (job #2020539) | Cod sursa (job #1282416) | Cod sursa (job #1886138) | Cod sursa (job #1292737) | Cod sursa (job #414869)
Cod sursa(job #414869)
#include<stdio.h>
int main(void)
{
freopen("rf.in", "r", stdin);
freopen("rf.out", "w", stdout);
int n;
int i,j,k;
int dist[257][257];
int count[257][257];
scanf("%d", &n);
for(i=0;i<n;++i)
{
for(j=0;j<n; ++j)
{
count[i][j] = (i==j)?0:1;
scanf("%d", &dist[i][j]);
}
}
for(k=0;k<n;++k)
{
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{
if(dist[i][k]!=0 && dist[k][j]!=0 && dist[i][j] > dist[i][k] + dist[k][j])
{
dist[i][j] = dist[i][k] + dist[k][j];
}
}
}
}
for(k=0;k<n;++k)
{
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{
if(dist[i][k]!=0 && dist[k][j]!=0 && dist[i][j] == dist[i][k] + dist[k][j] && i!=j)
{
++count[i][j];
}
}
}
}
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{
printf("%d ", dist[i][j]);
}
printf("\n");
}
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{
printf("%d ", count[i][j]);
}
printf("\n");
}
return 0;
}