Submission #1249559

#TimeUsernameProblemLanguageResultExecution timeMemory
1249559Ghulam_Junaid세계 지도 (IOI25_worldmap)C++20
15 / 100
109 ms13052 KiB
#include <bits/stdc++.h>
#include "worldmap.h"
using namespace std;

const int N = 41, K = 240;
int n, m, h[N];
vector<int> g[N];

vector<int> path;
void dfs(int v, int p = -1){
    path.push_back(v);
    for (int u : g[v]){
        if (!h[u]){
            h[u] = h[v] + 1;
            dfs(u, v);
            path.push_back(v);
            continue;
        }
        if (h[u] < h[v]){
            path.push_back(u);
            path.push_back(v);
        }
    }
}

vector<vector<int>> create_map(int nn, int mm, vector<int> a, vector<int> b) {
    n = nn, m = mm;
    for (int i = 0; i < m; i ++){
        g[a[i]].push_back(b[i]);
        g[b[i]].push_back(a[i]);
    }
    h[1] = 1;
    dfs(1);

    while (path.size() < 20000)
        path.push_back(1);
    int pp = 0;
    vector<vector<int>> ans(200);
    for (int i = 0; i < 200; i ++){
        ans[i].resize(200);
        if (i % 2 == 0){
            for (int j = 0; j < 200; j ++)
                ans[i][j] = path[pp++];
        }
        else{
            for (int j = 0; j < 200; j ++)
                ans[i][j] = 1;
        }
    }

    memset(h, 0, sizeof h);
    path.clear();
    for (int i = 0; i <= n; i ++)
        g[i].clear();
    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...