Pagini recente » Cod sursa (job #2248558) | Cod sursa (job #857073) | Cod sursa (job #3277784) | Cod sursa (job #2760138) | Cod sursa (job #2975877)
#include<bits/stdc++.h>
using namespace std;
const int N = 105;
int n, m[N][N];
ifstream in ("royfloyd.in");
ofstream out("royfloyd.out");
// auto& in = cin;
// auto& out = cout;
void read()
{
in>>n;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
in>>m[i][j];
}
void royfloyd()
{
for(int k=0;k<n;k++)
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i!=j && m[i][k] && m[k][j])
if(!m[i][j] || m[i][j]>m[i][k]+m[k][j])
m[i][j] = m[i][k] + m[k][j];
}
void show()
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
out<<m[i][j]<<' ';
out<<endl;
}
}
int main(){
read();
royfloyd();
show();
return 0;
}