제출 #1253713

#제출 시각아이디문제언어결과실행 시간메모리
1253713nicolo_010세계 지도 (IOI25_worldmap)C++20
0 / 100
0 ms324 KiB
#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;
template <typename T>
using v = vector<T>;
using pii = pair<int, int>;
#define rep(i, k, n) for (int i = k; i < n; i++)

v<int> euler;
v<bool> vis;
v<v<int>> adj;

void dfs(int n) {
  vis[n] = true;
  euler.push_back(n);
  for (auto x : adj[n]) {
    if (!vis[x]) {
      dfs(x);
      euler.push_back(n);
    }
  }
}

v<v<int>> ans;

void full(int i, int n) {
  rep(j, 0, (int)ans.size()) {
    ans[i][j] = n;
  }
}

std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
  adj.resize(N);
  vis.assign(N, false);
  rep(i, 0, M) {
    int a = A[i];
    int b = B[i];
    adj[a].push_back(b);
    adj[b].push_back(a);
  }
  dfs(0);
  int n = euler.size();
  ans.resize(n, v<int>(n, 0));
  rep(i, 0, n) {
    full(i, euler[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...