# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1196485 | prideliqueee | Island Hopping (JOI24_island) | C++20 | 0 ms | 0 KiB |
#include<bits/stdc++.h>
#include "island.h"
using namespace std;
int p[310];
int root(int u)
{
if(p[u]==u)
return u;
return p[u]=root(p[u]);
}
void solve(int N, int L)
{
for(int i=1;i<=N;i++)
p[i]=i;
for(int i=1;i<N;i++)
{
int u=query(1,i);
if(root(u)==root(1))
continue;
int now=1;
while(1)
{
int v=query(u,cur);
p[v]=u;
answer(v,u);
now++;
if(root(1)==root(u))
break;
}
}
}