Pagini recente » Cod sursa (job #1037047) | Cod sursa (job #385732) | Cod sursa (job #1574770) | Cod sursa (job #828168) | Cod sursa (job #2221274)
#include<fstream>
#include<cstring>
using namespace std;
int n, d[105][105];
int main(void) {
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
cin>>n;
for (int i=1; i<=n; ++i)
for (int j=1; j<=n; ++j)
cin>>d[i][j];
bool ok=1;
while (ok) {
ok=0;
for (int i=1; i<=n; ++i)
for (int k=1; k<=n; ++k)
if (i!=k)
for (int j=1; j<=n; ++j)
if (j!=i && j!=k) {
if (d[i][k]!=0 && d[k][j]!=0 && (d[i][k]+d[k][j]<d[i][j] || d[i][j]==0) ) { d[i][j]=d[i][k]+d[k][j]; ok=1; }
}
}
for (int i=1; i<=n; ++i, cout<<"\n")
for (int j=1; j<=n; ++j)
cout<<d[i][j]<<" ";
return 0;
}