제출 #1284837

#제출 시각아이디문제언어결과실행 시간메모리
1284837Muhammad_AneeqIsland Hopping (JOI24_island)C++20
2 / 100
2 ms408 KiB
#include "island.h"
#include "iostream"
#include "bits/stdc++.h"
using namespace std;
void solve(int N, int L) 
{
    vector<int>z;
    vector<pair<int,int>>ed;
    int P[N+10]={0};
    P[N]=-1;
    bool vis[N+10]={};
    int g=query(N,1);
    P[g]=N;
    ed.push_back({N,g});
    int y=query(g,1);
    vis[N]=1;
    vis[g]=1;
    if (y!=N)
    {
        z={};
        ed.push_back({y,g});
        P[y]=g;
        z.push_back(y);
        for (int j=0;j<z.size();j++)
        {
            int i=z[j];
            vis[i]=1;
            int f=query(i,1);
            if (vis[f])
            {
                f=query(i,2);
                if (vis[f])
                    break;
            }
            ed.push_back({i,f});
            P[f]=i;
            z.push_back(f);
        }
    }
    y=query(N,2);
    if(!vis[y])
    {
        z={};
        ed.push_back({y,N});
        P[y]=N;
        vis[y]=1;
        z.push_back(y);
        for (auto i:z)
        {
            vis[i]=1;
            int f=query(i,1);
            if (vis[f])
            {
                f=query(i,2);
                if (vis[f])
                    break;
            }
            ed.push_back({i,f});
            P[f]=i;
            z.push_back(f);
        }
    }
    for (auto [i,j]:ed)
        answer(i,j);
}
#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...