Pagini recente » Cod sursa (job #1387320) | Cod sursa (job #1007598) | Cod sursa (job #811030) | Cod sursa (job #2298241) | Cod sursa (job #1738370)
#include <fstream>
#include <climits>
using namespace std;
#define N 100
int matrix[N][N];
int n;
int min(int a,int b) {
return (a<=b?a:b);
}
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
void RoyFloyd() {
for (int k=0;k<n;k++) {
for (int i=0;i<n;i++) {
for (int j=0;j<n;j++) {
if (i!=j && matrix[i][j]!=0) {
matrix[i][j]=min(matrix[i][j],matrix[i][k]+matrix[k][j]);
}
}
}
}
}
int main() {
in>>n;
for (int i=0;i<n;i++) {
for (int j=0;j<n;j++) {
in>>matrix[i][j];
}
}
RoyFloyd();
for (int i=0;i<n;i++) {
for (int j=0;j<n;j++) {
out<<matrix[i][j]<<" ";
}
out<<"\n";
}
return 0;
}