Submission #1349563

#TimeUsernameProblemLanguageResultExecution timeMemory
1349563bangan세계 지도 (IOI25_worldmap)C++20
0 / 100
0 ms344 KiB
#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back

std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
    vector<vector<int>> ans;

    vector<vector<int>> adj(N);
    for (int i=0; i<M; i++) {
        A[i]--;
        B[i]--;
        adj[A[i]].pb(B[i]);
        adj[B[i]].pb(A[i]);
    }

    vector<bool> seen(N);
    vector<int> ord;
    auto dfs = [&](auto self, int v) -> void {
        seen[v] = true;
        ord.pb(v);
        for (int u : adj[v]) if (!seen[u]) {
            self(self, u);
            ord.pb(v);
        }
        ord.pop_back();
    };
    dfs(dfs, 0);

    assert(ord.size() == 2*N-1);

    for (int i=0; i < ord.size(); i++) ord[i]++;
    for (int i=0; i < ord.size(); i++) ans.pb(ord);

    return ans;
}
#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...