답안 #597453

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
597453 2022-07-16T04:17:36 Z 1bin CEOI16_icc (CEOI16_icc) C++14
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
#include <icc.h>
 
using namespace std;
 
typedef long long ll;
#define all(v) v.begin(), v.end()
const int NMAX = 105;
int par[NMAX], a[NMAX], b[NMAX], sza, szb;
int find(int x){ return par[x] == -1 ? x : par[x] = find(par[x]);}
vector<int> v[NMAX];

 int find_vr(int na, int nb, int a[], int b[])
{
    int lo = 1, hi = na; 
    while (lo < hi)
    {
        int mi = (lo + hi) >> 1;
        int *c = new int[MAXN];
        for (int i = 0; i < mi; i++) c[i] = a[i];
        if (query(mi, nb, c, b)) hi = mi;
        else lo = mi+1;
    }
    return a[lo-1];
}
 
void run(int n){
    memset(par, -1, sizeof(par));
    for(int i = 1; i <= n; i++) v[i].emplace_back(i);
    int sz = n;
    
    for(int i = 0; i < n - 1; i++, sz--){
        vector<int> arr;
        for(int i = 1; i <= n; i++)
            if(par[i] == -1) arr.emplace_back(i);
            
        for(int bit = 0; 1 << bit < sz; bit++){
            sza = szb = 0;    
            for(int j = 0; j < sz; j++){
                if(j & (1 << bit)) {
                    for(auto x : v[j]) a[sza++] = x;
                }
                else{
                    for(auto x : v[j]) b[szb++] = x;
                }
            }
            
            if(query(sza, szb, a, b)){
                int x = find_vr(sza, szb, a, b);
                int y = find_vr(nb, na, b, a);
                
                setRoad(x, y);
                x = find(x); y = find(y);
                if(v[x].size() < v[y].size()) swap(x, y);
                for(int t : v[y]) v[x].emplace_back(t);
                par[y] = x;
                break;
            }
        }
    }
    return;
}

Compilation message

icc.cpp: In function 'int find_vr(int, int, int*, int*)':
icc.cpp:19:26: error: 'MAXN' was not declared in this scope
   19 |         int *c = new int[MAXN];
      |                          ^~~~
icc.cpp: In function 'void run(int)':
icc.cpp:50:33: error: 'nb' was not declared in this scope; did you mean 'n'?
   50 |                 int y = find_vr(nb, na, b, a);
      |                                 ^~
      |                                 n
icc.cpp:50:37: error: 'na' was not declared in this scope; did you mean 'n'?
   50 |                 int y = find_vr(nb, na, b, a);
      |                                     ^~
      |                                     n