Submission #536859

#TimeUsernameProblemLanguageResultExecution timeMemory
536859dantoh000Speedrun (RMI21_speedrun)C++14
21 / 100
47 ms4596 KiB
#include "speedrun.h" #include <bits/stdc++.h> using namespace std; int arr[1005][1005]; void assignHints(int subtask, int N, int A[], int B[]) { /* your solution here */ if (subtask == 1){ for (int i = 1; i < N; i++){ arr[A[i]][B[i]] = arr[B[i]][A[i]] = 1; } setHintLen(N); for (int i = 1; i <= N; i++){ for (int j = 1; j <= N; j++){ if (arr[i][j]) setHint(i,j,arr[i][j]); } } } } int n; int vis[1005]; vector<int> G[1005]; void getG(int u){ for (int i = 1; i <= n; i++){ if (getHint(i)){ //printf("adding edge %d %d\n",u,i); G[u].push_back(i); } } } void dfs(int u, int p){ //printf("at %d\n",u); getG(u); for (auto v : G[u]){ if (v == p) continue; //printf("%d %d\n",u,v); goTo(v); dfs(v, u); } if (p != -1) goTo(p); } void speedrun(int subtask, int N, int start) { /* your solution here */ n = N; if (subtask == 1){ dfs(start, -1); } }
#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...