Submission #1250970

#TimeUsernameProblemLanguageResultExecution timeMemory
1250970fadyscube세계 지도 (IOI25_worldmap)C++20
29 / 100
23 ms3140 KiB
#include "worldmap.h"

using namespace std;

void dfs (int u, vector<vector<pair<int, int>>> &adj, vector<bool> &visited, vector<int> &ans) {
  for (int i = 0; i < adj[u].size(); i++) {
    int v = adj[u][i].first;
    int eid = adj[u][i].second;
    if (!visited[eid]) {
      visited[eid] = true;
      ans.push_back(v+1);
      dfs(v, adj, visited, ans);
      ans.push_back(u+1);
    }
  }
}

std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
  if (M == 0) {
    return {{1}};
  }
  vector<int> ans;
  vector<vector<pair<int, int>>> adj(N);
  for (int i = 0; i < M; i++) {
    adj[A[i]-1].push_back({B[i]-1, i});
    adj[B[i]-1].push_back({A[i]-1, i});
  }

  vector<bool> visited(M);
  dfs(0, adj, visited, ans);
  vector<vector<int>> v;
  for (int i = 0; i < ans.size(); i++) {
    v.push_back(ans);
  }

  return v;
}
#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...