Cod sursa(job #3257813)
| Utilizator | Data | 19 noiembrie 2024 16:11:44 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.76 kb |
#include <bits/stdc++.h>
int mat[105][105];
using namespace std;
int main()
{
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
int n;
cin>>n;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>mat[i][j];
}
}
for(int k=0;k<n;k++)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(i!=j&&mat[i][k]&&mat[k][j])
{
mat[i][j]=min(mat[i][j],mat[i][k]+mat[k][j]);
}
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cout<<mat[i][j]<<" ";
}
cout<<'\n';
}
return 0;
}
