제출 #1233943

#제출 시각아이디문제언어결과실행 시간메모리
1233943HanksburgerSpeedrun (RMI21_speedrun)C++20
0 / 100
0 ms496 KiB
#include "speedrun.h" #include <bits/stdc++.h> using namespace std; vector<int> adj[1005], vec; int par[1005]; void dfs(int u) { vec.push_back(u); for (int v:adj[u]) { if (v==par[u]) continue; par[v]=u; dfs(v); } } void assignHints(int subtask, int n, int a[], int b[]) { setHintLen(20); for (int i=1; i<n; i++) { adj[a[i]].push_back(b[i]); adj[b[i]].push_back(a[i]); } dfs(1); for (int i=0; i<vec.size(); i++) { for (int j=0; j<10; j++) setHint(vec[i], j, par[vec[i]]&(1<<j)); if (i+1<vec.size()) for (int j=10; j<20; j++) setHint(vec[i], j, vec[i+1]&(1<<(j-10))); } } void speedrun(int subtask, int n, int cur) { while (cur!=1) { cur=0; for (int i=0; i<10; i++) if (getHint(i)) cur|=1<<i; goTo(cur); } for (int i=1; i<n; i++) { int nxt=0; for (int j=10; j<20; j++) if (getHint(j)) nxt|=1<<(j-10); while (!goTo(nxt)) { cur=0; for (int j=0; j<10; j++) if (getHint(j)) cur|=1<<j; goTo(cur); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...