# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
858685 | 2023-10-09T04:36:46 Z | imarn | 드문 곤충 (IOI22_insects) | C++17 | 0 ms | 0 KB |
#include<bits/stdc++.h> #include "insects.h" #define f first #define s second #define ll long long #define pb push_back #define pii pair<int,int> #define pll pair<ll,ll> //#define sz(x) (ll)x.size() #define all(x) x.begin(),x.end() using namespace std; int pr[401]{0}; int sz[401]{0}; int get(int r){ return pr[r]==r?r:pr[r]=get(pr[r]); } int min_cardinality(int N) { iota(pr,pr+N+1,0); for(int i=0;i<N+1;i++)sz[i]=1; for(int i=0;i<N;i++){ for(int j=i+1;j<N;j++){ move_inside(i); move_inside(j); int u=get(i); int v=get(j); if(press_button()==2&&u!=v{ sz[u]+=sz[v]; pr[v]=get(u); }move_outside(i); move_outside(j); } }int ans=1e9; for(int i=0;i<N;i++)ans=min(ans,sz[get(i)]); return ans; }