Submission #1227173

#TimeUsernameProblemLanguageResultExecution timeMemory
1227173brintonThousands Islands (IOI22_islands)C++20
0 / 100
1 ms584 KiB
#include "islands.h"

#include <bits/stdc++.h>
using namespace std;

variant<bool, vector<int>> find_journey(int N, int M, vector<int> U, vector<int> V) {
  vector<vector<pair<int,int>>> edges(N);
  for(int i = 0;i < M;i++){
    edges[U[i]].push_back({V[i],i});
  }
  vector<int> ans;
  vector<bool> vis(N,false);
  auto co = [](int id){
    if(id%2 == 0) return id+1;
    else return id-1;
  };
  function<void(int)> dfs = [&](int cur){
    vis[cur] = true;
    for(auto [nxt,id]:edges[cur]){
      if(vis[nxt]) continue;
      ans.push_back(id);
      dfs(nxt);
      ans.push_back(co(id));
    }
  };
  dfs(0);
  for(int i = 0;i < N;i++) if(!vis[i]) return false;
  if(edges[0].size() == 0) return false;
  return true;

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