Submission #1249580

#TimeUsernameProblemLanguageResultExecution timeMemory
1249580FernandoJC07World Map (IOI25_worldmap)C++20
0 / 100
20 ms2632 KiB
//#include "worldmap"
#include <vector>
using namespace std;
#define vi vector<int>
#define vii vector<vector<int>>
#define For(i, a, n) for(int i = a; i<n; ++i)
#define pb push_back

vi agg(int a, vii &adj){
    vi res;
    for(int x: adj[a]){
        res.pb(a); res.pb(x);
    }
    return res;
}

void dfs(int a, vii &adj, vi &vst, vii &mapa){
    mapa.pb({a});
    mapa.pb(agg(a, adj));
    mapa.pb({a});
    vst[a] = 1;
    for(int x: adj[a]){
        if(vst[x]) continue;
        dfs(x, adj, vst, mapa);
    }
}

vii create_map(int N, int M, vi A, vi B){
    vii adj(N+1);
    vi vst(N+1, 0);
    vii mapa;

    For(i, 0, M) {adj[A[i]].pb(B[i]); adj[B[i]].pb(A[i]);}
    dfs(1, adj, vst, mapa);
    int k = mapa.size();
    For(i, 0, k){
        int m = k-mapa[i].size();
        while(m--){mapa[i].pb(mapa[i][0]);}
    }
    return mapa;    
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...