Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define pb emplace_back
- using namespace std;
- using ll = long long;
- const int maxn = 10;
- void done() {
- cout << "done" << endl;
- exit(0);
- }
- int mv[maxn];
- vector<vector<int>> ask(vector<int> a) {
- cout << "next ";
- for (int i : a) cout << i << ' ', ++mv[i];
- cout << endl;
- int k;
- cin >> k;
- vector<vector<int>> res(k);
- for (int i = 0;i < k;++i) {
- string tmp;
- cin >> tmp;
- for (auto j : tmp) res[i].pb(j-'0');
- }
- return res;
- }
- // [, )
- vector<int> range(int l, int r) {
- vector<int> res(r-l);
- iota(res.begin(), res.end(), l);
- return res;
- }
- int x;
- void get_x() {
- auto advance = [&](int b) {
- while (mv[b] != 1<<b) {
- auto vv = ask(range(b, 10));
- if (vv.size() != b+1) {
- for (auto vec : vv) if (vec.size() != 1)
- return *min_element(vec.begin(), vec.end());
- }
- }
- return -1;
- };
- for (int i = 0;i < 10;++i) {
- int v = advance(i);
- if (~v) {
- x = mv[i] - mv[v];
- break;
- }
- }
- }
- signed main(){
- ios_base::sync_with_stdio(0), cin.tie(0);
- ask(range(0, 10));
- get_x();
- }
Advertisement
Add Comment
Please, Sign In to add comment