Pagini recente » Cod sursa (job #1078060) | Cod sursa (job #3032422) | Cod sursa (job #2563137) | Cod sursa (job #2641223) | Cod sursa (job #2970243)
/*
* https://infoarena.ro/problema/royfloyd 100p
*/
#include <bits/stdc++.h>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int V, d[105][105];
void read(){
in >> V;
for(int i = 0; i < V; i++)
for(int j = 0; j < V; j++)
in >> d[i][j];
in.close();
}
void print(){
cout << V;
for(int i = 0; i < V; i++, out << '\n')
for(int j = 0; j < V; j++)
out << d[i][j] << ' ';
}
void floydWarshall(){
for(int k = 0; k < V; k++)
for(int i = 0; i < V; i++)
for(int j = 0; j < V; j++) {
if (i == j)
continue;
if(!d[i][k] || !d[k][j])
continue;
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
}
}
int main() {
read();
floydWarshall();
print();
return 0;
}