Pagini recente » Cod sursa (job #82738) | Cod sursa (job #1820550) | Cod sursa (job #1381698) | Istoria paginii runda/prega_18.09/clasament | Cod sursa (job #2804744)
#include <bits/stdc++.h>
#define oo 0x3f3f3f3f
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int n;
int dist[101][101];
void read()
{
f>>n;
for(int i = 1;i <= n;++i)
for(int j = 1;j <= n;++j)
{
f>>dist[i][j];
dist[i][j] = (dist[i][j] == 0 ? oo : dist[i][j]);
}
}
void solve()
{
for(int k = 1;k <= n;++k)
for(int i = 1;i <= n;++i)
for(int j = 1;j <= n;++j)
if(i != j)
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
for(int i = 1;i <= n;++i, g<<'\n')
for(int j = 1;j <= n;++j)
g<<(dist[i][j] >= oo ? 0 : dist[i][j])<<" ";
}
int main()
{
read();
solve();
return 0;
}