답안 #1034453

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1034453 2024-07-25T13:56:31 Z Mr_Husanboy 드문 곤충 (IOI22_insects) C++17
0 / 100
1 ms 344 KB
#include "insects.h"
#include <bits/stdc++.h>

using namespace std;

#define ff first
#define ss second
#define all(a) (a).begin(), (a).end()
#define ll long long
const int mod = 1000002022;

vector<int> state, p;
int n, m; 
vector<vector<int>> g;
template<typename T>
int len(T &a){return a.size();}

mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count());

void shuffle(vector<int> &a, int n){
  if(n == 1) return;
  random_shuffle(a.begin(), a.begin() + n);
  for(int i = 0; i < n; i ++){
    int aa = rng() % n, bb = rng() % n;
    while(bb == aa) bb = rng() % n;
    swap(a[aa], a[bb]);
  }
}


int min_cardinality(int n) {
  int dis = 0;
  vector<int> v;
  vector<int> done(n);
  for(int i = 0; i < n; i ++){
    move_inside(i);
    if(press_button() == 2){
      move_outside(i);
      continue;
    }
    v.push_back(i);
  }
  dis = len(v);
  int lim = sqrt(n) + 1;
  if(false){
    for(auto u : v){
      move_outside(u);
      done[u] = 1;
    }
    int ans = n;
    for(auto u : v){
      int cnt = 1;
      move_inside(u);
      for(int i = 0; i < n; i ++){
        if(done[i]) continue;
        move_inside(i);
        if(press_button() == 2){
          done[i] = 1;
          cnt ++;
        }
        move_outside(i);
      }
      move_outside(u);
      ans = min(ans, cnt);
    }
    return ans;
  }
  int ans = 1;
  while(true){
    for(auto u : v){
      move_inside(u);
      done[u] = 1;
    }

    v.clear();
    for(int i = 0; i < n;  i++){
      if(done[i]) continue;
      move_inside(i);
      if(press_button() == 2){
        move_outside(i); continue;
      }
      v.push_back(i);
    }
    if(len(v) != dis){
      break;
    }
    ans ++;
  } 

  return ans;
}

Compilation message

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:44:7: warning: unused variable 'lim' [-Wunused-variable]
   44 |   int lim = sqrt(n) + 1;
      |       ^~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong answer.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong answer.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Wrong answer.
3 Halted 0 ms 0 KB -