Submission #1355972

#TimeUsernameProblemLanguageResultExecution timeMemory
1355972vjudge1Rarest Insects (IOI22_insects)C++20
0 / 100
0 ms344 KiB
#include "insects.h"
#include<bits/stdc++.h>
using namespace std;
int p[2100];
int fr(int i){
    if(p[i]==i)return i;
    return p[i]=fr(p[i]);
}
int sz[2100];
void join(int x,int y){
    int pa=fr(x);
    int pb=fr(y);
    if(pa==pb)return;
    p[pb]=pa;
    sz[pa]+=sz[pb];
}
int min_cardinality(int N) {
    for(int i=0;i<N;i++)p[i]=i,sz[i]=1;
    for(int i=0;i<N;i++){
        move_inside(i);
        for(int j=i+1;j<N;j++){
            move_inside(j);
            if(j>=i+2)move_outside(j-1);
            int val=press_button();
            if(val==2)join(i,j);
        }
        move_outside(i);
    }
    int mn=N;
    for(int i=0;i<N;i++){
        if(fr(i)==i)mn=min(mn,sz[i]);
    }
    return mn;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...