Pagini recente » Cod sursa (job #432949) | Cod sursa (job #2813764) | Diferente pentru info-oltenia-2019/individual/clasament/10 intre reviziile 2 si 1 | Cod sursa (job #710168) | Cod sursa (job #2754580)
#include <bits/stdc++.h>
#define ullong unsigned long long
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
ullong n;
vector<vector<ullong>> G;
void Roy_Floyd(){
for(ullong k = 1; k <= n; k++)
for(ullong i = 1; i <= n; i++)
for(ullong j = 1; j <= n; j++){
G[i][j] = min(G[i][j], G[i][k] + G[k][j]);
}
for(ullong i = 1; i <=n; i++){
for(ullong j = 1; j <=n; j++){
if(G[i][j] == ULLONG_MAX)
g<<0<<' ';
else
g<<G[i][j]<<" ";
}
g<<"\n";
}
}
int main()
{
f>>n;
G.resize(n + 1);
for(ullong i = 0; i <= n; i++)
G[i].resize(n + 1);
for(ullong i = 1; i <=n; i++){
for(ullong j = 1; j <=n; j++){
f>>G[i][j];
if(!G[i][j] && i != j)
G[i][j] = ULLONG_MAX;
}
}
Roy_Floyd();
return 0;
}