#include "island.h"
#include <bits/stdc++.h>
using namespace std;
#define MAXN 301
#define nl '\n'
#define ff first
#define ss second
#define ll long long
#define ld long double
#define terminator main
#define pll pair<ll,ll>
#define add insert
#define append push_back
#define pii pair<int,int>
#define all(x) (x).begin(),(x).end()
#define L0TA ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
int c[MAXN];
vector<int> G[MAXN];
bool nei[MAXN][MAXN];
void solve(int n, int l){
    int j;
    set<int> s;
    vector<int> r;
    for(int i = 1; i <= n; i++){
        G[i].append(i);
        c[i] = i;
        s.add(i);
    }
    for(int k = 1; k < n; k++){
        for(auto & i : s){
            j = query(i, k);
            if(c[i] == c[j]){
                if(!nei[i][j])
                    r.append(i);
            }
            else{
                nei[i][j] = nei[j][i] = 1;
                j = c[j];
                for(auto & v : G[j]){
                    G[c[i]].append(v);
                    c[v] = c[i];
                }
                G[j].clear();
            }
        }
        for(auto & i : r)
            s.erase(i);
        r.clear();
    }
    for(int i = 1; i < n; i++)
        for(int j = i + 1; j <= n; j++)
            if(nei[i][j])
                answer(i, j);
}
| # | 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... |