Submission #722963

#TimeUsernameProblemLanguageResultExecution timeMemory
722963Darren0724Split the Attractions (IOI19_split)C++17
18 / 100
101 ms13736 KiB
#include "split.h" #include<bits/stdc++.h> //#include "grader.cpp" using namespace std; const int N=100005; vector<int> adj[N],res,v; int vis[N]; void dfs(int k){ vis[k]=1; v.push_back(k); for(int j:adj[k]){ if(vis[j]){ continue; } dfs(j); } } vector<int> find_split(int n1, int a, int b, int c, vector<int> x, vector<int> y) { int n=n1; res.resize(n); int m=x.size(); for(int i=0;i<m;i++){ adj[x[i]].push_back(y[i]); adj[y[i]].push_back(x[i]); } int root=0; for(int i=0;i<n;i++){ if(adj[i].size()==1){ root=i; } } dfs(root); for(int i=0;i<a;i++){ res[v[i]]=1; } for(int i=a;i<a+b;i++){ res[v[i]]=2; } for(int i=a+b;i<a+b+c;i++){ res[v[i]]=3; } return res; } /* 7 6 4 2 1 0 1 0 2 1 3 1 4 2 5 2 6 */ /* 10 10 2 7 1 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 9 8 9 8 0 */
#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...