Submission #1216833

#TimeUsernameProblemLanguageResultExecution timeMemory
1216833badge881Island 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);
        if (find(u) == find(1))
            continue;
        int cnt = 1;
        while (1)
        {
            auto v = query(u, cnt);
            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...