Pagini recente » Cod sursa (job #1506311) | Cod sursa (job #602072) | Cod sursa (job #967709) | Cod sursa (job #860916) | Cod sursa (job #539081)
Cod sursa(job #539081)
// http://infoarena.ro/problema/royfloyd
#include <fstream>
using namespace std;
#define maxSize 102
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int nodes;
int matrix[maxSize][maxSize];
int main() {
in >> nodes;
for(int i=1;i<=nodes;i++)
for(int k=1;k<=nodes;k++)
in >> matrix[i][k];
for(int k=1;k<=nodes;k++)
for(int i=1;i<=nodes;i++)
for(int j=1;j<=nodes;j++)
if(matrix[i][k] && matrix[k][j] && (matrix[i][j] > matrix[i][k] + matrix[k][j] || !matrix[i][j]) && i!=j)
matrix[i][j] = matrix [i][k] + matrix[k][j];
for(int i=1;i<=nodes;i++) {
for(int k=1;k<=nodes;k++)
out << matrix[i][k] << " ";
out << "\n";
}
in.close();
out.close();
return (0);
}