#include "island.h"
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
namespace {
  int isroot[501];
  vector<pair<int,int>>ans;
  int parent[501];
  int find(int i){
    if(i==parent[i])return i;
    return parent[i]=find(parent[i]);
  }
  void unite(int i,int j){
    parent[find(i)]=find(j);
  }
}
void solve(int n, int L) {
  for(int i=1;i<=n;i++)parent[i]=i;
  for(int i=2;i<=n;i++){
    int res=query(i,1);
    if(res<i){
      ans.pb({res,i});
      unite(i,res);
    }else isroot[i]=1;
  }
  for(int i=2;i<=n;i++){
    if(isroot[i])continue;
    for(int k=2;k<=n-1;k++){
      int res=query(i,k);
      if(res<i&&find(i)!=find(res)){
        unite(i,res);
        ans.pb({res,i});
      }else break;
    }
  }
  for(auto[x,y]:ans) answer(x,y);
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |