#include <bits/stdc++.h>
#define ll long long
#define sz(x) int(x.size())
#define all(x) x.begin(), x.end()
#define pb push_back
#define mp make_pair
#define fr first
#define se second
using namespace std;
const int MAXN=501;
ll grafo[MAXN][MAXN], pos[MAXN][MAXN];
int count_common_roads(const vector<int>& r);
std::vector<int> find_roads(int n, std::vector<int> u, std::vector<int> v) {
    ll i;
	for(i=0; i<sz(u); i++)
    {
        grafo[u[i]][v[i]]=i;
        grafo[v[i]][u[i]]=i;
        pos[u[i]][v[i]]=1;
        pos[v[i]][u[i]]=1;
    }
    vector<int>ord;
    for(i=0; i<n; i++)
        ord.pb(i);
    return ord;
    do
    {
        vector<int>ars;
        bool con=0;
        for(i=0; i<sz(ord)-1; i++)
        {
            if(pos[ord[i]][ord[i+1]]==0)
            {
                con=1;
                break;
            }
            ars.pb(grafo[ord[i]][ord[i+1]]);
        }
        if(con)
            continue;
        if(count_common_roads(ars)==sz(ars))
            return ars;
    }while(next_permutation(all(ord)));
    return ord;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |