Submission #1304859

#TimeUsernameProblemLanguageResultExecution timeMemory
1304859cansu_mutluSpeedrun (RMI21_speedrun)C++17
21 / 100
15 ms608 KiB
#include<bits/stdc++.h> #include "speedrun.h" using namespace std; int n = 0,cnt = 0; vector<int> vis; void assignHints(int subtask, int N, int A[], int B[]) { n = N; if(subtask==1) { setHintLen(n); for(int i=1;i<n;i++) { int u = A[i],v = B[i]; setHint(u,v,true); setHint(v,u,true); } } else { setHintLen(1); int ata = 0; vector<int> cnt(n+1,0); for(int i=1;i<n;i++) { int u = A[i],v = B[i]; cnt[u]++; cnt[v]++; } for(int i=1;i<=n;i++) { if(cnt[i]==n-1) { setHint(i,1,true); } } } //return; } void dfs(int s,int anne) { vis[s] = 1; for(int x=1;x<=n;x++) { if(x!=anne && vis[x]== 0 && getHint(x)) { vis[x] = 1; goTo(x); dfs(x,s); goTo(s); } } } void speedrun(int subtask, int N, int start) { n = N; vis.resize(n+1,0); getLength(); if(subtask ==1) { dfs(start,0); } else { int bas =0; vis[start] = 1; if(getHint(1)==false) { bool yes = false; for(int i=1;i<=n;i++) { if(i==start) continue; yes = goTo(i); if(yes) { bas = i; vis[i] = 1; break; } } for(int i=1;i<=n;i++) { if(vis[i]==0) { goTo(i); goTo(bas); } } } } //return; }
#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...