#include "prison.h"
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> devise_strategy(int N) {
vector<vector<int>> v;
int cnt = 1, nw = 0;
vector<pair<int, int>> num;
vector<vector<int>> put;
vector<int> which;
which.push_back(0);
num.push_back({0, 0});
put.resize(9);
for (int i = 8; i >= 0; i--) {
num.push_back({i, 0});
put[i].push_back(num.size() - 1);
num.push_back({i, 1});
put[i].push_back(num.size() - 1);
which.push_back(nw);
which.push_back(nw);
nw ^= 1;
}
v.resize(num.size());
v[0].push_back(0);
cout << "0 ";
for (int i = 1; i <= N; i++) {
v[0].push_back(((i & (1 << 8)) > 0) + 1);
// cout << v[0].back() << " ";
}
cout << "\n";
for (int i = 1; i < num.size(); i++) {
int get = num[i].second;
// cout << "kers " << num[i].first << " " << num[i].second << "\n";
v[i].push_back(which[i] ^ 1);
// cout << v[i][0] << " ";
for (int j = 1; j <= N; j++) {
int bit = ((j & (1 << i)) > 0);
if (bit < get) {
v[i].push_back(-((which[i]) + 1));
} else if (bit > get) {
v[i].push_back(-((which[i] ^ 1) + 1));
} else {
v[i].push_back(put[(num[i].first - 1)][((1 << (num[i].first - 1)) > 0)]);
}
// cout << v[i].back() << " ";
}
// cout << "\n";
}
return v;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |