Cod sursa(job #1657964)
| Utilizator | Data | 20 martie 2016 22:16:10 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <cstdio>
using namespace std;
int main()
{ freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
int n,i,j,k,v[111][111];
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{scanf("%d",&(v[i][j]));if(v[i][j]==0&&i!=j)v[i][j]=213456789;}
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(v[i][j]>v[i][k]+v[k][j])v[i][j]=v[i][k]+v[k][j];
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
{printf("%d ",(v[i][j]));}
printf("\n");
}
}
