Submission #1261479

#TimeUsernameProblemLanguageResultExecution timeMemory
1261479dostsIsland Hopping (JOI24_island)C++20
100 / 100
2 ms416 KiB
#include "island.h"
#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
//#define int long long
#define pii pair<int,int>
#define vi vector<int>
#define ff first
#define ss second
#define sp << " " <<
#define all(x) x.begin(),x.end()
#define big(x) ((int)(x.size()))
using namespace std;
const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9;

void solve(int N, int L) {
  //BFS ordera göre sor
  //tek tek:
  //eğer parentimi biliyosam skip
  //otherwise daha önce gördüğüm bi şey görene kadar ask++
  vi par(N+1,-1);
  vi vect;
  vect.push_back(1);
  for (int i=1;i<=N-1;i++) vect.push_back(query(1,i));
  par[1] = 0;
  vi vis(N+1,0);
  for (auto it : vect) {
    vis[it] =1;
    if (par[it] != -1) continue;
    int ctr = 1;
    while (1) {
      int x = query(it,ctr++);
      if (vis[x]) {
        answer(it,x);
        par[it] = x;
        break;
      }
      else {
        answer(it,x);
        par[x] = it;
      }
      continue;
    }
  }
}
#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...