Pagini recente » Cod sursa (job #995056) | Cod sursa (job #1504352) | Cod sursa (job #2499840) | Cod sursa (job #1301883) | Cod sursa (job #1510044)
#include<fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int a[101][101], b[101][101], c[101][101], n;
int const oo = 100000000;
void citire()
{
int i, j;
f>>n;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++){
f>>a[i][j];
if(a[i][j] == 0)
c[i][j] = oo;
c[i][j] = a[i][j];
}
}
void floyd()
{
int i, j, k;
for(k=1; k<=n; k++){
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if(i!=j)
c[i][j] = min(a[i][k] + a[k][j], c[i][j]);
}
}
void print()
{
int i, j;
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
if(c[i][j] == oo)
c[i][j] = 0;
g<<c[i][j]<<" ";
}
g<<"\n";
}
}
int main()
{
citire();
floyd();
print();
return 0;
}