| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1274925 | muhammad-ahmad | Island Hopping (JOI24_island) | C++20 | 0 ms | 0 KiB | 
#include <bits/stdc++.h>
#include "island.h"
void solve(int N, int L) {
	int cur = 1, F[N + 1] = {}, Ex[N + 1] = {};
    
    bool vis[N];
    map<pair<int, int>> C;
    
    vis[1] = 1;
    
    for (int i = 1; i <= N; i++){
    	int f = query(cur, 1);
    	int ex = query(cur, 2);
    	
    	if (vis[f]){
    		if (!C[{cur, f}] && !C[{f, cur}]){
    			answer(cur, f);
    			C[{cur, f}] = 1;
    		}
    		if (!C[{cur, ex}] && !C[{ex, cur}]){
    			answer(cur, ex);
    			C[{cur, ex}] = 1;
    		}
    		vis[ex] = 1;
    		vis[f] = 1;
    		cur = x;
    	}
    	
    	else {
    		if (!C[{cur, f}] && !C[{f, cur}]){
    			answer(cur, f);
    			C[{cur, f}] = 1;
    		}
    		vis[f] = 1;
    		cur = ex;
    	}
    	
    }
}
