Submission #1257713

#TimeUsernameProblemLanguageResultExecution timeMemory
1257713mkkkkkkkkWorld Map (IOI25_worldmap)C++20
0 / 100
1 ms328 KiB
#include "worldmap.h"
#include <bits/stdc++.h>

using namespace std;

vector<int> adj[41];
bool vis[41];
int j;

void dfs(int i,vector<vector<int>>& vec)
{
    vis[i]=true;
    for(int k=0;k<vec.size();k++)
    {
        vec[j][k]=i;
    }
    j++;
    int jj=0;
    for(auto it : adj[i])
    {
        vec[j][jj]=it;
        jj++;
        vec[j][jj]=i;
        jj++;
    }

    for(;jj<vec.size();jj++)
        vec[j][jj]=i;

    j++;

    for(auto it : adj[i])
    {
        if(vis[it]==false)
        {
            for(int k=0;k<vec.size();k++)
            {
                vec[j][k]=i;
            }
            j++;
            dfs(it,vec);
        }

    }

    for(int k=0;k<vec.size();k++)
        {
                vec[j][k]=i;
        }

        j++;
}

vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B)
{
    vector<vector<int>> vec;
    vector<int> temp;
    for(int i=0;i<N*2+2*(N-1)+1;i++)
    {
        temp.push_back(-1);
    }
    for(int i=0;i<N*2+2*(N-1)+1;i++)
    {
        vec.push_back(temp);
    }
    for(int i=0;i<A.size();i++)
    {
        int a=A[i],b=B[i];
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
    dfs(1,vec);

    return vec;

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