# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1168346 | Ghulam_Junaid | Walk (POI13_spa) | C++20 | 1474 ms | 327680 KiB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 61, K = 1e6 + 10;
int n, k, ite[2];
ll X[2];
bool done;
set<ll> blocked, seen;
int dist(ll u, ll v){
return __builtin_popcount(u ^ v);
}
void dfs(int id, ll v){
if (v == X[1 - id]) done = 1;
if (ite[id] >= n * k) return ;
seen.insert(v);
ite[id]++;
for (int i = 0; i < n; i ++){
ll nv = (1ll << i) ^ v;
if (seen.find(nv) != seen.end() or blocked.find(nv) != blocked.end()) continue;
dfs(id, nv);
if (ite[id] >= (n * k)) return;
}
}
int main(){
cin >> n >> k;
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |