# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
765391 | vjudge1 | Speedrun (RMI21_speedrun) | C++17 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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()
}