제출 #1058202

#제출 시각아이디문제언어결과실행 시간메모리
1058202epicci23드문 곤충 (IOI22_insects)C++17
컴파일 에러
0 ms0 KiB
#include "bits/stdc++.h" #include "insects.h" #define all(v) v.begin() , v.end() #define sz(a) (int)a.size() using namespace std; vector<int> mach; int N; void clear_mach(){ while(!mach.empty()){ move_outside(mach.back()); mach.pop_back(); } } int solve(vector<int> cand){ if(sz(cand)==1) return 1; random_shuffle(all(cand),mt19937(0)); int n=sz(cand); clear_mach(); move_inside(cand[0]); mach.push_back(cand[0]); int last=1; for(int i=1;i<n;i++){ move_inside(cand[i]); mach.push_back(cand[i]); if(last==press_button()){ move_outside(cand[i]); mach.pop_back(); } else last++; } int ans=last; if(last==1) return 1; vector<int> vis(N,0); for(int x:mach) vis[x]=1; clear_mach(); vector<int> cand_new; for(int x:cand) if(!vis[x]) cand_new.push_back(x); cand=cand_new; if(sz(cand)==1) return 1; random_shuffle(all(cand),mt19937(0)); vector<int> takla; for(int x:cand){ move_inside(x); mach.push_back(x); int cur = press_button(); if(cur>=last){ move_outside(x); mach.pop_back(); takla.push_back(x); } } if(takla.empty()){ clear_mach(); return solve(cand); } clear_mach(); vector<int> cikar; for(int x:takla) cikar.push_back(x); move_inside(takla[0]); mach.push_back(takla[0]); for(int i=1;i<sz(takla);i++){ move_inside(takla[i]); mach.push_back(takla[i]); if(press_button()==2){ move_outside(takla[i]); mach.pop_back(); } } for(int x:cand){ move_inside(x); mach.push_back(x); if(press_button()==2){ move_outside(x); mach.pop_back(); cikar.push_back(x); } } vis.assign(N,0); for(int x:cikar) vis[x]=1; vector<int> newnew; for(int x:cand) if(!vis[x]) newnew.push_back(x); cand=newnew; return solve(cand); } int min_cardinality(int n){ N=n+5; vector<int> res; for(int i=0;i<n;i++) res.push_back(i); return solve(res); } /*void _(){ } int32_t main(){ cin.tie(0); ios::sync_with_stdio(0); int tc=1;//cin >> tc; while(tc--) _(); return 0; }*/

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

insects.cpp: In function 'int solve(std::vector<int>)':
insects.cpp:35:7: warning: unused variable 'ans' [-Wunused-variable]
   35 |   int ans=last;
      |       ^~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from insects.cpp:1:
/usr/include/c++/10/bits/stl_algo.h: In instantiation of 'void std::random_shuffle(_RAIter, _RAIter, _Generator&&) [with _RAIter = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Generator = std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>]':
insects.cpp:20:38:   required from here
/usr/include/c++/10/bits/stl_algo.h:4636:48: error: no match for call to '(std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>) (__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type)'
 4636 |    _RandomAccessIterator __j = __first + __rand((__i - __first) + 1);
      |                                          ~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/10/random:49,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:108,
                 from insects.cpp:1:
/usr/include/c++/10/bits/random.h:563:7: note: candidate: 'std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::operator()() [with _UIntType = long unsigned int; long unsigned int __w = 32; long unsigned int __n = 624; long unsigned int __m = 397; long unsigned int __r = 31; _UIntType __a = 2567483615; long unsigned int __u = 11; _UIntType __d = 4294967295; long unsigned int __s = 7; _UIntType __b = 2636928640; long unsigned int __t = 15; _UIntType __c = 4022730752; long unsigned int __l = 18; _UIntType __f = 1812433253; std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type = long unsigned int]'
  563 |       operator()();
      |       ^~~~~~~~
/usr/include/c++/10/bits/random.h:563:7: note:   candidate expects 0 arguments, 1 provided