Загрузка данных


#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    
    int liczbaRund;
    if(!(cin>>liczbaRund)) return 0;
    
    vector<vector<int>> macierz(liczbaRund+1,vector<int>(liczbaRund+1));
    for(int i=1; i<=liczbaRund; i++)
    {
        for(int j=1; j<=liczbaRund; j++)
        {
            cin>>macierz[i][j];
        }
    }
    
    vector<int> trasa;
    trasa.push_back(1);
    
    for(int i=2; i<=liczbaRund; i++)
    {
        int aktualneMiasto=i;
        int pozycjaWstawienia=0;
        
        while(pozycjaWstawienia<trasa.size() && macierz[aktualneMiasto][trasa[pozycjaWstawienia]]==1)
        {
            pozycjaWstawienia++;
        }
        
        trasa.insert(trasa.begin()+pozycjaWstawienia,aktualneMiasto);
    }
    
    for(size_t i=0; i<trasa.size(); i++)
    {
        cout<<trasa[i]<<(i+1==trasa.size()?"":" ");
    }
    cout<<"\n";
    
    return 0;
}