제출 #349472

#제출 시각아이디문제언어결과실행 시간메모리
349472ezdp콤보 (IOI18_combo)C++14
컴파일 에러
0 ms0 KiB
#pragma GCC optimize ("O3") #pragma GCC target ("sse4") #include<bits/stdc++.h> #include<combo.h> #include<ext/pb_ds/assoc_container.hpp> #define endl '\n' #define pb push_back #define fr first #define sc second #define ll long long int #define ld long double #define bit(idx) idx&(-idx) #define bin(x) bitset<32>(x) #define all(A) A.begin(), A.end() #define de(x) cout << #x << " = " << x << endl; #define row vector<ll> #define row_matrix vector<ll> #define matrix vector<row_matrix> #define ordered_set_T ll using namespace std; using namespace __gnu_pbds; typedef tree<ordered_set_T, null_type, less<ordered_set_T>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; /// find_by_order(x) -> x-th element in the set /// order_of_key(x) -> how many elements are smaller than x /// insert(x) -> inserts x into the set string guess_sequence(int N){ string ans, qry; ll tmp = press("AB"); if(tmp){ tmp = press("A"); if(tmp) ans += 'A'; else ans += 'B'; } else{ tmp = press("X"); if(tmp) ans += 'X'; else ans += 'Y'; } if(N == 1) return ans; vector<char> v; if(ans != "A") v.pb("A"); if(ans != "B") v.pb("B"); if(ans != "X") v.pb("X"); if(ans != "Y") v.pb("Y"); for(int i = 2; i <= N - 1; i ++){ qry.clear(); qry += ans; qry += v[0]; qry += ans; qry += v[1]; qry += v[0]; qry += ans; qry += v[1]; qry += v[1]; qry += v[1]; qry += v[2]; tmp = press(qry); if(tmp == ans.size() + 0) ans += v[2]; if(tmp == ans.size() + 1) ans += v[0]; if(tmp == ans.size() + 2) ans += v[1]; } qry.clear(); qry += ans; qry += v[0]; qry += ans; qry += v[1]; tmp = press(qry); if(tmp == ans.size() + 1){ qry.clear(); qry += ans; qry += v[0]; tmp = press(qry); if(tmp == ans.size() + 1) ans += v[0]; else ans += v[1]; } else ans += v[2]; return ans; } /** */

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:46:25: error: no matching function for call to 'push_back(const char [2])'
   46 |  if(ans != "A") v.pb("A");
      |                         ^
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from combo.cpp:4:
/usr/include/c++/10/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = char; _Alloc = std::allocator<char>; std::vector<_Tp, _Alloc>::value_type = char]' (near match)
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1187:7: note:   conversion of argument 1 would be ill-formed:
combo.cpp:46:22: error: invalid conversion from 'const char*' to 'std::vector<char>::value_type' {aka 'char'} [-fpermissive]
   46 |  if(ans != "A") v.pb("A");
      |                      ^~~
      |                      |
      |                      const char*
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from combo.cpp:4:
/usr/include/c++/10/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = char; _Alloc = std::allocator<char>; std::vector<_Tp, _Alloc>::value_type = char]' (near match)
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1203:7: note:   conversion of argument 1 would be ill-formed:
combo.cpp:46:22: error: invalid conversion from 'const char*' to 'std::vector<char>::value_type' {aka 'char'} [-fpermissive]
   46 |  if(ans != "A") v.pb("A");
      |                      ^~~
      |                      |
      |                      const char*
combo.cpp:47:25: error: no matching function for call to 'push_back(const char [2])'
   47 |  if(ans != "B") v.pb("B");
      |                         ^
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from combo.cpp:4:
/usr/include/c++/10/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = char; _Alloc = std::allocator<char>; std::vector<_Tp, _Alloc>::value_type = char]' (near match)
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1187:7: note:   conversion of argument 1 would be ill-formed:
combo.cpp:47:22: error: invalid conversion from 'const char*' to 'std::vector<char>::value_type' {aka 'char'} [-fpermissive]
   47 |  if(ans != "B") v.pb("B");
      |                      ^~~
      |                      |
      |                      const char*
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from combo.cpp:4:
/usr/include/c++/10/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = char; _Alloc = std::allocator<char>; std::vector<_Tp, _Alloc>::value_type = char]' (near match)
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1203:7: note:   conversion of argument 1 would be ill-formed:
combo.cpp:47:22: error: invalid conversion from 'const char*' to 'std::vector<char>::value_type' {aka 'char'} [-fpermissive]
   47 |  if(ans != "B") v.pb("B");
      |                      ^~~
      |                      |
      |                      const char*
combo.cpp:48:25: error: no matching function for call to 'push_back(const char [2])'
   48 |  if(ans != "X") v.pb("X");
      |                         ^
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from combo.cpp:4:
/usr/include/c++/10/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = char; _Alloc = std::allocator<char>; std::vector<_Tp, _Alloc>::value_type = char]' (near match)
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1187:7: note:   conversion of argument 1 would be ill-formed:
combo.cpp:48:22: error: invalid conversion from 'const char*' to 'std::vector<char>::value_type' {aka 'char'} [-fpermissive]
   48 |  if(ans != "X") v.pb("X");
      |                      ^~~
      |                      |
      |                      const char*
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from combo.cpp:4:
/usr/include/c++/10/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = char; _Alloc = std::allocator<char>; std::vector<_Tp, _Alloc>::value_type = char]' (near match)
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1203:7: note:   conversion of argument 1 would be ill-formed:
combo.cpp:48:22: error: invalid conversion from 'const char*' to 'std::vector<char>::value_type' {aka 'char'} [-fpermissive]
   48 |  if(ans != "X") v.pb("X");
      |                      ^~~
      |                      |
      |                      const char*
combo.cpp:49:25: error: no matching function for call to 'push_back(const char [2])'
   49 |  if(ans != "Y") v.pb("Y");
      |                         ^
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from combo.cpp:4:
/usr/include/c++/10/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = char; _Alloc = std::allocator<char>; std::vector<_Tp, _Alloc>::value_type = char]' (near match)
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1187:7: note:   conversion of argument 1 would be ill-formed:
combo.cpp:49:22: error: invalid conversion from 'const char*' to 'std::vector<char>::value_type' {aka 'char'} [-fpermissive]
   49 |  if(ans != "Y") v.pb("Y");
      |                      ^~~
      |                      |
      |                      const char*
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from combo.cpp:4:
/usr/include/c++/10/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = char; _Alloc = std::allocator<char>; std::vector<_Tp, _Alloc>::value_type = char]' (near match)
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1203:7: note:   conversion of argument 1 would be ill-formed:
combo.cpp:49:22: error: invalid conversion from 'const char*' to 'std::vector<char>::value_type' {aka 'char'} [-fpermissive]
   49 |  if(ans != "Y") v.pb("Y");
      |                      ^~~
      |                      |
      |                      const char*
combo.cpp:54:10: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |   if(tmp == ans.size() + 0) ans += v[2];
      |      ~~~~^~~~~~~~~~~~~~~~~
combo.cpp:55:10: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |   if(tmp == ans.size() + 1) ans += v[0];
      |      ~~~~^~~~~~~~~~~~~~~~~
combo.cpp:56:10: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |   if(tmp == ans.size() + 2) ans += v[1];
      |      ~~~~^~~~~~~~~~~~~~~~~
combo.cpp:60:9: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |  if(tmp == ans.size() + 1){
      |     ~~~~^~~~~~~~~~~~~~~~~
combo.cpp:63:10: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |   if(tmp == ans.size() + 1) ans += v[0];
      |      ~~~~^~~~~~~~~~~~~~~~~