Submission #1190093

#TimeUsernameProblemLanguageResultExecution timeMemory
1190093alexddSplit the Attractions (IOI19_split)C++20
0 / 100
2 ms4936 KiB
#include "split.h" #include<bits/stdc++.h> using namespace std; vector<int> con[200005]; int cntv; vector<int> visited; void dfs(int nod, int b, int val) { if(cntv==b) return; visited[nod] = val; cntv++; for(int adj:con[nod]) if(!visited[adj]) dfs(adj,b,val); } std::vector<int> find_split(int n, int a, int b, int c, std::vector<int> p, std::vector<int> q) { visited.resize(n,0); for(int i=0;i<p.size();i++) { con[p[i]].push_back(q[i]); con[q[i]].push_back(p[i]); } int cntcap=0; for(int cap=0;cap<n;cap++) { if(con[cap].size() == 1) { cntcap++; if(cntcap==1) { cntv=0; dfs(cap,a,1); } else { cntv=0; dfs(cap,b,2); } } } for(int i=0;i<n;i++) if(visited[i]==0) visited[i]=3; return visited; }
#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...