Pagini recente » Cod sursa (job #1881759) | Cod sursa (job #1100692) | Cod sursa (job #2344338) | Cod sursa (job #65086) | Cod sursa (job #1756248)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
int N;
int matrix[101][101];
void rezolvare(){
int i, k, j;
for(k = 1; k <= N; k++)
for(i = 1; i<= N; i++)
for(j = 1; j <= N; j++)
if(matrix[i][j] > matrix[i][k] + matrix[k][j])
matrix[i][j] = matrix[i][k] + matrix[k][j];
}
int main(){
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
f >> N;
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++){
f >> matrix[i][j];
if(matrix[i][j] == 0 && i != j)
matrix[i][j] = INT_MAX;
}
f.close();
rezolvare();
for(int i = 1; i <= N; i++){
for(int j = 1; j <= N; j++)
if(matrix[i][j] == INT_MAX)
g << '0';
else
g << matrix[i][j] << " ";
g << "\n";
}
g.close();
return 0;
}