답안 #942174

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
942174 2024-03-10T10:31:38 Z benjaminkleyn 드문 곤충 (IOI22_insects) C++17
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
#include "insects.h"
using namespace std;

int cnt;
bool inside[2000];
bool bad[2000];

void init()
{
    cnt = 0;
    memset(inside, false, sizeof(inside));
    memset(bad, false, sizeof(bad));
}
void move_in(int i)
{
    if (inside[i])
        return;
    cnt++;
    inside[i] = true;
    move_inside(i);
}
void move_out(int i)
{
    if (!inside[i])
        return;
    cnt--;
    inside[i] = false;
    move_outside(i);
}

int min_cardinality(int N) 
{
    init();
    for (int i = 0; i < N; i++)
    {
        move_in(i);
        if (press_button() > 1)
            move_out(i);
    }
    int num_types = cnt;

    if (num_types == 1)
        return N;
    if (num_types == N)
        return 1;

    int lo = 1, hi = N / cnt + 1, mid;
    while (lo < hi)
    {
        mid = lo + (hi - lo + 1) / 2;

        shuffle(p.begin(), p.end(), rng);
        vector<int> new_insects;
        vector<int> bad_insects;
        for (int i = 0; i < N; i++)
        {
            if (!(bad[i] || inside[i]))
            {
                move_in(i);

                if (press_button() > mid)
                {
                    bad_insects.push_back(i);
                    move_out(i);
                }
                else
                    new_insects.push_back(i);

                if (cnt >= mid * num_types)
                    break;
            }
        }

        if (cnt == mid * num_types)
            lo = mid;
        else
        {
            for (int i : bad_insects)
                bad[i] = true;
            for (int i : new_insects)
                move_out(i);
            hi = mid - 1;
        }
    }
    return lo;
}

Compilation message

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:53:17: error: 'p' was not declared in this scope
   53 |         shuffle(p.begin(), p.end(), rng);
      |                 ^
insects.cpp:53:37: error: 'rng' was not declared in this scope
   53 |         shuffle(p.begin(), p.end(), rng);
      |                                     ^~~