제출 #1256928

#제출 시각아이디문제언어결과실행 시간메모리
1256928noyancanturkIsland Hopping (JOI24_island)C++20
100 / 100
3 ms424 KiB
#include "island.h" #include<bits/stdc++.h> using namespace std; #define pb push_back namespace { int isroot[501]; vector<pair<int,int>>ans; int parent[501]; int find(int i){ if(i==parent[i])return i; return parent[i]=find(parent[i]); } void unite(int i,int j){ parent[find(i)]=find(j); } } void solve(int n, int L) { for(int i=1;i<=n;i++)parent[i]=i; for(int i=2;i<=n;i++){ int res=query(i,1); if(res<i){ ans.pb({res,i}); unite(i,res); }else isroot[i]=1; } for(int i=2;i<=n;i++){ if(isroot[i])continue; for(int k=2;k<=n-1;k++){ int res=query(i,k); if(res<i&&find(i)!=find(res)){ unite(i,res); ans.pb({res,i}); }else break; } } for(auto[x,y]:ans) answer(x,y); }
#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...