Pagini recente » Monitorul de evaluare | Cod sursa (job #152700) | Cod sursa (job #1835115) | Cod sursa (job #2239520) | Cod sursa (job #1044447)
#include <iostream>
#include <cstdio>
using namespace std;
int graph[101][101];
int n;
void print(){
for(int i = 0; i < n; i++){
for(int j =0; j<n;j++)
printf("%d ",graph[i][j]);
printf("\n");
}
}
void scan(){
scanf("%d",&n);
for(int i = 0 ; i < n; i++){
for(int j = 0; j<n; j++)
scanf("%d", &graph[i][j]);
}
print();
cout << endl;
}
void solve(){
for(int k = 0 ; k < n; k++){
for(int i = 0 ; i<n;i++){
for(int j = 0; j <n; j++){
if(graph[i][j] > graph[i][k] + graph[k][j])
graph[i][j] = graph[i][k] + graph[k][j];
}
}
}
}
int main(){
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scan();
solve();
print();
return 0;
}