Pagini recente » Cod sursa (job #184383) | Cod sursa (job #452841) | Cod sursa (job #2373335) | Cod sursa (job #225116) | Cod sursa (job #492462)
Cod sursa(job #492462)
#include<cstdio>
#include<fstream>
using namespace std;
#define nn 101
int m[nn][nn];
int n;
void read (){
ifstream in ("royfloyd.in");
in>>n;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
in>>m[i][j];
in.close ();
}
void solve (){
for(int k=1;k<=n;++k)
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
if(m[i][k] && m[k][j] && (m[i][j] > m[i][k] + m[k][j] || !m[i][j]) && i != j)
m[i][j] = m[i][k] + m[k][j];
}
void write (){
freopen ("royfloyd.out","w",stdout);
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j)
printf("%d ",m[i][j]);
printf("\n");
}
}
int main ()
{
read ();
solve ();
write ();
return 0;}