Submission #1293223

#TimeUsernameProblemLanguageResultExecution timeMemory
1293223alexrana2626World Map (IOI25_worldmap)C++20
0 / 100
1154 ms2162688 KiB
#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> gr[41];
vector<int> v;

void dfs(int x, int p) 
{
    v.push_back(x);
    for (int i : gr[x]) 
    {
        if (i == p) continue;
        dfs(i, x);
        v.push_back(x);
    }
}

vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B) 
{
    if (M == N * (N-1)/2)
    {
        vector<vector<int>> ans(2 * N, vector<int>(2* N));
        
        int num = 1;
        
        for (int i = 0; i < 2 * N; i++)
        {
            for (int j = 0; j < 2 * N; i++)
            {
                if (i % 2 == 0) ans[i][j] = num;
                else 
                {
                    if (j < N) ans[i][j] = j + 1;
                    else ans[i][j] = j + 1 - N;
                }
            }
            if (i % 2 == 0) num++;
        }
        
        return ans;
    }
    for (int i = 0; i < 41; i++) gr[i].clear();
    v.clear();

    for (int i = 0; i < M; i++) 
    {
        gr[A[i]].push_back(B[i]);
        gr[B[i]].push_back(A[i]);
    }

    dfs(1, 0);

    int K = v.size();
    vector<vector<int>> ans(K, vector<int>(K));

    for (int i = 0; i < K; i++) {
        for (int j = 0; j < K; j++) {
            ans[i][j] = v[i];
        }
    }

    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...