Submission #1205056

#TimeUsernameProblemLanguageResultExecution timeMemory
1205056HappyCapybaraThousands Islands (IOI22_islands)C++20
0 / 100
1157 ms2162688 KiB
#include "islands.h"
#include<bits/stdc++.h>
using namespace std;

vector<int> p, c, t;
vector<int> U, V;
vector<vector<int>> g;

void dfs(int cur){
  if (!c.empty()) return;
  for (int e : g[cur]){
    if (!c.empty()) return;
    int next = U[e]+V[e]-cur;
    if (p[next] == -1) dfs(next);
    else {
        c.push_back(1);
        return;
    }
  }
}

variant<bool, vector<int>> find_journey(int N, int M, vector<int> U, vector<int> V){
  ::U = U;
  ::V = V;
  g.resize(N);
  for (int i=0; i<M; i+=2) g[U[i]].push_back(i);
  p.resize(N, -1);
  dfs(0);
  if (c.empty()) return false;
  return true;
}
#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...