#include <bits/stdc++.h>
#include "speedrun.h"
// #include "grader.cpp"
using namespace std;
const int N = 1005;
int n, len;
vector<int> g[N];
void give(int v, int val){
for (int i = 0; i < len; i ++)
setHint(v, i + 1, bool((1 << i) & val));
}
void assignHints(int subtask, int nn, int A[], int B[]) {
int n = nn;
for (int i = 1; i < n; i ++){
if (A[i] > B[i]) swap(A[i], B[i]);
g[A[i]].push_back(B[i]);
g[B[i]].push_back(A[i]);
}
if (subtask == 2){
int x = 1;
if (n >= 3){
if (A[1] == A[2])
x = A[1];
else if (A[1] == B[2])
x = A[1];
else
x = B[1];
}
len = 20;
setHintLen(len);
for (int v = 1; v <= n; v ++)
give(v, x);
return ;
}
}
vector<int> extract(){
vector<int> info;
int val = 0;
for (int i = 0; i < len; i ++){
val += (1 << (i % 10)) * getHint(i + 1);
if (i % 10 == 9){
info.push_back(val);
val = 0;
}
}
return info;
}
void speedrun(int subtask, int N, int start) {
len = getLength();
vector<int> vec;
if (subtask == 2){
vec = extract();
int x = vec[0];
goTo(x);
for (int i = 1; i <= N; i ++){
goTo(i);
goTo(x);
}
return;
}
}
# | 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... |