Pagini recente » Cod sursa (job #2828404) | Cod sursa (job #1040661) | Cod sursa (job #2969691) | Cod sursa (job #1273932) | Cod sursa (job #1365267)
#include <iostream>
#include <fstream>
using namespace std;
const int maxn = 105;
const int oo = 0x3f3f3f3f;
int n, rf[maxn][maxn];
int main() {
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
fin >> n;
for(int i = 0 ; i < n ; ++ i)
for(int j = 0 ; j < n ; ++ j) {
fin >> rf[i][j];
if(!rf[i][j] && i != j)
rf[i][j] = oo;
}
for(int k = 0 ; k < n ; ++ k)
for(int i = 0 ; i < n ; ++ i)
for(int j = 0 ; j < n ; ++ j)
rf[i][j] = min(rf[i][j], rf[i][k] + rf[k][j]);
for(int i = 0 ; i < n ; ++ i, fout << '\n')
for(int j = 0 ; j < n ; ++ j) {
if(rf[i][j] == oo)
rf[i][j] = 0;
fout << rf[i][j] << ' ';
}
}