Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Atasamentele paginii Clasament x-info | Cod sursa (job #1698049)
#include<fstream>
#include<algorithm>
#include<stack>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int A[110][110];
int main()
{
int N;
in >> N;
for (int i = 1;i <= N;++i)
for (int j = 1;j <= N;++j)
in >> A[i][j];
for (int k = 1;k <= N;++k)
for (int i = 1;i <= N;++i)
for (int j = 1;j <= N;++j)
if (i != j && A[i][k] + A[k][j] < A[i][j] && A[i][k] != 0 && A[k][j] != 0)
A[i][j] = A[i][k] + A[k][j];
for (int i = 1;i <= N;++i)
{
for (int j = 1;j <= N;++j)
out << A[i][j] << " ";
out << '\n';
}
return 0;
}