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>
using namespace std;
#define pf printf
void assignHints(int subtask, int N, int A[], int B[]) { /* your solution here */
if(subtask==1){
setHintLen(N);
for(int i=1;i<N;++i){
setHint(A[i],B[i],1);
setHint(B[i],A[i],1);
}
}
}
void speedrun(int subtask, int N, int start) { /* your solution here */
if(subtask==1){
vector<int> cur(N+1,1),p(N+1,-1);
int pos=start;
while(true){
while(cur[pos]!=N+1&&(getHint(cur[pos])==0||cur[pos]==p[pos]))++cur[pos];
if(cur[pos]==N+1){
if(p[pos]==-1)break;
else goTo(p[pos]),pos=p[pos];
}
else{
goTo(cur[pos]);
p[cur[pos]]=pos;
pos=cur[pos]++;
}
}
}
}
# | 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... |