제출 #1305764

#제출 시각아이디문제언어결과실행 시간메모리
1305764jojeonghoonLibrary (JOI18_library)C++20
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>
using namespace std;

int N;
vector<vector<int>> A;

int Qur(vector<vector<int>>v, int x){
    vector<int>m;
    m.assign(N,0);
    m[x-1]=1;
    for(auto i:v) for(auto j:i) m[j-1]=1;
    return Query(m);
}

void F(int x){
    int k = (int)A.size()+1-Qur(A,x);
    
    vector<int>in={x};
    
    if(k==0){
        A.push_back(in);
        return;
    }
    
    if(k==1 || k==2){
        int low=0, hig=(int)A.size()-1;
        while(low<hig){
            int mid=low+hig>>1;
            
            vector<vector<int>>v;
            for(int i=0; i<=mid; i++) v.push_back(A[i]);
            if(Qur(v,x) == v.size()+1) low=mid+1;
            else hig=mid;
        }
        
        if(low!=A.size()-1) swap(A[low], A[A.size()-1]);
        vector<int> B=A.bk;
        A.pop_back();
        if(Qur({{B.bk}},x)==2) reverse(B.bg,B.ed);
        
        in=B;
        in.push_back(x);
    }
    
    if(k==2){
        int low=0, hig=(int)A.size()-1;
        while(low<hig){
            int mid=low+hig>>1;
            vector<vector<int>>v;
            for(int i=0; i<mid; i++) v.push_back(A[i]);
            if(Qur(v,x) == v.size()+1) low=mid+1;
            else hig=mid;
        }
        
        if(low!=A.size()-1) swap(A[low], A[A.size()-1]);
        vector<int> B=A.bk;
        A.pop_back();
        for(int i:B) in.push_back(i);
    }
    
    A.push_back(in);
}

void Solve(int N_){
    N=N_;
    A.push_back({1});
    
    for(int i=2; i<=N; i++){
        F(i);
    }
    Answer(A[0]);
}

컴파일 시 표준 에러 (stderr) 메시지

library.cpp: In function 'int Qur(std::vector<std::vector<int> >, int)':
library.cpp:12:12: error: 'Query' was not declared in this scope; did you mean 'Qur'?
   12 |     return Query(m);
      |            ^~~~~
      |            Qur
library.cpp: In function 'void F(int)':
library.cpp:37:25: error: 'class std::vector<std::vector<int> >' has no member named 'bk'
   37 |         vector<int> B=A.bk;
      |                         ^~
library.cpp:39:20: error: 'class std::vector<int>' has no member named 'bk'
   39 |         if(Qur({{B.bk}},x)==2) reverse(B.bg,B.ed);
      |                    ^~
library.cpp:39:15: error: could not convert '{{<expression error>}}' from '<brace-enclosed initializer list>' to 'std::vector<std::vector<int> >'
   39 |         if(Qur({{B.bk}},x)==2) reverse(B.bg,B.ed);
      |            ~~~^~~~~~~~~~~~
      |               |
      |               <brace-enclosed initializer list>
library.cpp:39:42: error: 'class std::vector<int>' has no member named 'bg'
   39 |         if(Qur({{B.bk}},x)==2) reverse(B.bg,B.ed);
      |                                          ^~
library.cpp:39:47: error: 'class std::vector<int>' has no member named 'ed'; did you mean 'end'?
   39 |         if(Qur({{B.bk}},x)==2) reverse(B.bg,B.ed);
      |                                               ^~
      |                                               end
library.cpp:56:25: error: 'class std::vector<std::vector<int> >' has no member named 'bk'
   56 |         vector<int> B=A.bk;
      |                         ^~
library.cpp: In function 'void Solve(int)':
library.cpp:71:5: error: 'Answer' was not declared in this scope
   71 |     Answer(A[0]);
      |     ^~~~~~