제출 #1276654

#제출 시각아이디문제언어결과실행 시간메모리
1276654jumpIsland Hopping (JOI24_island)C++20
0 / 100
1 ms420 KiB
#include <bits/stdc++.h>
bool visit[320];
std::set<int> cache[320];
void solve(int N, int L);
int query(int v, int k);
void answer(int x, int y);
void join(std::set<int>& a,std::set<int> b){
  for(auto v:b)a.insert(v);
}
std::set<int> dfs(int current,int parent){
  //std::cout << parent << "->" << current << '\n';
  if(visit[current])return cache[current];
  else visit[current]=true;
  int test = query(current,1);
  //std::cout << test << '\n';
  if(test==parent)return {current};
  int t = 1;
  std::set<int> child;
  child.insert(current);
  while(test<current&&child.find(test)==child.end()){
    join(child,dfs(test,current));
    answer(current,test);
    test = query(current,++t);
  }
  cache[current]=child;
  return child;
}
void solve(int N, int L) {
  for (int i=N;i>=1;i--) {
    dfs(i,i);
  }
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...