Submission #1261411

#TimeUsernameProblemLanguageResultExecution timeMemory
1261411riddlesWorld Map (IOI25_worldmap)C++20
0 / 100
1 ms324 KiB
#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef map<ll, ll> mp;
typedef pair<ll, ll> pll;
typedef queue<ll> qi;
typedef vector<ll> vi;
typedef vector <vi> vvi;
typedef vector <pll> vpl;
typedef vector <string> vs;
#define YES cout<<"YES\n"
#define Yes cout<<"Yes\n"
#define NO cout<<"NO\n"
#define No cout<<"No\n"
#define f first
#define s second
#define pb push_back
#define all(x) begin(x), end(x)

int n, m;
vector<int> a, b;
vector<vector<int>> ans;
vector<vector<int>> con;
vector<bool> vis;
vector<int> etour;

/*void dfs(int u, int p) {
    etour.pb(u);
    for (int i: con[u]) {
        if (i!=p) {
            dfs(i, u);
            etour.pb(u);
        }
    }
}*/

vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B) {
  n=N;
  m=M;
  a=A;
  b=B;
  con=vector<vector<int>> (n);
  vis=vector<bool> (n+1, false);

  for(ll i=0; i<m; i++){
    //a[i]--, b[i]--;
    con[a[i]].pb(b[i]);
    con[b[i]].pb(a[i]);
  }

  auto dfs=[&](int v, auto &&dfs) -> void {
      etour.pb(v);
      vis[v]=1;
      for(auto u: con[v]) {
          if(vis[u]) continue;
          dfs(u, dfs);
          etour.pb(v);
      }
  };  
	dfs(1, dfs);
  etour.resize(2*n, 1);
  vector<bool>vis2 (n+1, false);
  ans=vector<vector<int>> (4*n, vector<int>(4*n, 1));
  int q=0;
  for(int i=0; i<2*n; i++){
    int v=etour[i];
    for(ll j=0; j<ans[q].size(); j++) ans[q][j]=v;
    q++;
    if(vis2[v]) continue;
    vis2[v]=1;
    for(ll j=0; j<ans[q].size(); j++) ans[q][j]=v;
    int h=0;
    for(auto u: con[v]) ans[q][h]=u, h+=2;
    q++;
  }
  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...