# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1256493 | kerem | Island Hopping (JOI24_island) | C++20 | 0 ms | 0 KiB |
#include "island.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
int n,R=-1,ind[305];
vector<int> g[305];
void dfs(int x,int ata){
if(ata!=0) answer(x,ata);
int y=query(x,++ind[x]);
while(ind[y]==0 || y==ata || !(ata==1 && y==R)){
if(y!=ata)
dfs(y,x);
if(ind[x]==n-1) break;
y=query(x,++ind[x]);
}
}
void solve(int N, int L){
n=N;
tmp=query(1,2);
if(query(tmp,1)==1)
R=tmp;
dfs(1,0);
}