Submission #1157586

#TimeUsernameProblemLanguageResultExecution timeMemory
115758612345678Island Hopping (JOI24_island)C++20
100 / 100
2 ms412 KiB
#include "island.h"
#include <bits/stdc++.h>

using namespace std;

const int nx=305;

int dsu[nx];

int find(int x)
{
    if (dsu[x]==x) return x;
    return dsu[x]=find(dsu[x]);
}

void solve(int N, int L) {
    for (int i=1; i<=N; i++) dsu[i]=i;
    for (int i=1; i<N; i++)
    {
        auto u=query(1, i);
        //cout<<"u "<<u<<'\n';
        if (find(u)==find(1)) continue;
        int cnt=1;
        while (1)
        {
            auto v=query(u, cnt);
            //cout<<"here "<<u<<' '<<v<<'\n';
            answer(u, v);
            dsu[find(u)]=find(v);
            cnt++;
            if (find(1)==find(u)) break;
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...