# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
897571 | avighna | Snake Escaping (JOI18_snake_escaping) | C++17 | 1969 ms | 45300 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll N = 20;
ll dp[1 << N], dp2[1 << N];
ll cnt[256];
void get_locs(string &t, vector<ll> &loc, ll &val, char ch, bool q) {
for (ll i = 0; i < t.length(); ++i) {
if (t[i] == ch) {
loc.push_back(t.length() - i - 1);
}
val += (1 << (t.length() - i - 1)) * (t[i] == '1' || (q && t[i] == '?'));
}
}
void populate(queue<pair<ll, ll>> &q, vector<ll> &loc, ll val, ll n) {
q.push({val, -1});
for (ll i = 0; i < n; ++i) {
ll sz = q.size();
while (sz--) {
ll v = q.front().first;
ll idx = q.front().second + 1;
q.pop();
q.push({v, idx});
v ^= (1 << loc[idx]);
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |