Submission #1250146

#TimeUsernameProblemLanguageResultExecution timeMemory
1250146chithanhnguyenWorld Map (IOI25_worldmap)C++20
15 / 100
14 ms2120 KiB
#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;

int n, m;
vector<int> euler_tour;
vector<int> adj[45];
bool vis[45];

void dfs(int u) {
    vis[u] = 1;
    euler_tour.push_back(u);
    
    for (int v : adj[u]) {
        if (!vis[v]) {
            dfs(v);
            euler_tour.push_back(u);
        }
    }
}

vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B) {
    euler_tour.clear();
    for (int i = 0; i < 45; ++i) adj[i].clear();
    memset(vis, 0, sizeof vis);

    n = N; m = M;
    for (int i = 0; i < m; ++i) {
        int u = A[i], v = B[i];
        adj[u].push_back(v);
        adj[v].push_back(u);
    }

    dfs(1);
    vector<vector<int>> res(2*n-1, vector<int>(2*n-1));
    for (int i = 0; i < 2 * n - 1; ++i) {
        for (int j = 0; j < 2 * n - 1; ++j) {
            res[i][j] = euler_tour[i];
        }
    }

    return res;
}


// int main() {
//     vector<vector<int>> res = create_map(6, 5, {1, 2, 1, 4, 4}, {2, 3, 4, 5, 6});
//     for (int i = 0; i < 2 * n - 1; ++i) {
//         for (int j = 0; j < 2 * n - 1; ++j) {
//             cout << res[i][j] << " ";
//         }
//         cout << '\n';
//     }
// }
#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...