| # | 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;
        }
    }
}
