Pagini recente » Cod sursa (job #1838283) | Cod sursa (job #1364123) | Cod sursa (job #1918406) | Cod sursa (job #2137950) | Cod sursa (job #1887332)
#include <cstdio>
using namespace std;
#define INF 1001
int vertices, adjMatrix[101][101];
int main(){
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d", &vertices);
for(int row = 1; row <= vertices; row++){
for(int column = 1; column <= vertices; column++){
scanf("%d", &adjMatrix[row][column]);
if(adjMatrix[row][column] == 0 && row != column){
adjMatrix[row][column] = INF;
}
}
}
for(int k = 1; k <= vertices; k++){
for(int i = 1; i <= vertices; i++){
for(int j = 1; j <= vertices; j++){
if(adjMatrix[i][j] > adjMatrix[i][k] + adjMatrix[k][j]){
adjMatrix[i][j] = adjMatrix[i][k] + adjMatrix[k][j];
}
}
}
}
for(int row = 1; row <= vertices; row++){
for(int column = 1; column <= vertices; column++){
printf("%d ", (adjMatrix[row][column] == INF) ? 0 : adjMatrix[row][column]);
}printf("\n");
}
return 0;
}