#include "insects.h"
#include<bits/stdc++.h>
#define vi vector<int>
#define pb push_back
#define FOR(i, k, n) for(int i = k; i<n; i++)
#define f0r(i,n) for(int i = 0; i< n; i++)
#define mp make_pair
#define pii pair<int,int>
#define vout(x) for(auto u : x)cout<<u<<' '; cout<<'\n';
using namespace std;
int min_cardinality(int n) {
vi col(n, -1);
int cur = 0;
col[0] = 0;
move_inside(0);
move_inside(1);
int x = press_button();
if(x == 2)col[1] = col[0];
FOR(i, 2, n){
move_outside(i-1);
move_inside(i);
int x = press_button();
if(x == 2){
col[i] = col[0];
}
}
// vout(col);
move_outside(n-1);
move_outside(0);
FOR(i, 1, n){
if(col[i] != -1)continue;
cur++;
col[i] = cur;
move_inside(i);
FOR(j, i + 1, n){
if(j != i + 1)move_outside(j - 1);
move_inside(j);
int x = press_button();
if(x == 2){
// cout<<i<<' '<<j<<'\n';
col[j] = col[i];
}
}
move_outside(i);
move_outside(n-1);
}
// vout(col);
vi cnt(cur + 1);
f0r(i, n)cnt[col[i]]++;
int ans = 1e9;
f0r(i, cur + 1){
ans = min(ans, cnt[i]);
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |