Submission #764908

#TimeUsernameProblemLanguageResultExecution timeMemory
764908vjudge1Speedrun (RMI21_speedrun)C++17
0 / 100
41 ms47628 KiB
#include <algorithm> #include <iostream> #include <iomanip> #include <bitset> #include <cmath> #include <queue> #include <map> #include <set> #include "speedrun.h" // Akhmet Issa using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; #define ent "\n" const int maxn = 1e6 + 100; const ll INF = (ll)2e18; const int inf = (ll)2e9; const int maxl = 20; const int MOD = 1e9 + 7; int r; vector<int> g[maxn]; int used[maxn]; 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]); } setHintLen(1); for(int i = 1; i <= n; i++){ if(g[i].size() > 1){ setHint(i, 1, 1); r = i; } } if(!r) r = 1; } void dfs(int v, int pr, int n){ used[v] = 1; if(getHint(1)){ for(int to = 1; to <= n; to++){ if(!used[to]){ goTo(to); dfs(to, v, n); } } } else{ if(!used[r]){ goTo(r); dfs(r, v, n); } } if(pr) goTo(pr); } void speedrun(int subtask, int n, int start){ dfs(start, 0, n); }
#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...