# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
765391 | vjudge1 | Speedrun (RMI21_speedrun) | C++17 | 0 ms | 0 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 "speedrun.h"
#include <bits/stdc++.h>
#define ios ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout)
#define all(a) a.begin() , a.end()
#define F first
#define S second
using namespace std;
using ll = long long;
const int N = 2e5+5 , inf = 2e9 + 7;
const ll INF = 1e18 , mod = 1e9+7 , P = 6547;
vector<int> g[N] , ord;
int p[N];
void dfs(int v, int pr){
p[v] = pr;
ord.push_back(v);
for(int to : g[v]){
if(to == pr) continue;
dfs(to,v);
}
}
void assignHints(int subtask, int N, int A[], int B[]) {
for(int i = 1; i <= n; i++){
g[A[i]].push_back(B[i]);
g[B[i]].push_back(A[i]);
}
dfs(1,0);
setHintLen(20);
for(int j = 0; j < ord.size(); j++){
for(int i = 0; i < 10; i++){
int a = ((p[v] >> i) & 1);
setHint(x,i+1,a);
}
if(j+1 < ord.size()){
for(int i = 0; i < 10; i++){
int a = ((p[v] >> i) & 1);
setHint(x,i+11,a);
}
}
}
}
void speedrun(int subtask, int N, int start) {
while(1){
int msk = 0;
for(int i = 0; i < 10; i++){
if(getHint(i+1)) msk += (1 << i);
}
if(up == 0) break;
goTo(msk);
}
while()
}