제출 #832813

#제출 시각아이디문제언어결과실행 시간메모리
832813HorizonWestSplit the Attractions (IOI19_split)C++17
0 / 100
1 ms212 KiB
#include <bits/stdc++.h> using namespace std; vector <vector<int>> v; vector <int> g, ans, pass; void dfs(int node, int cont, int group) { ans[node] = group; cont++; if(cont == g[group]) { cont = 0; group++; } pass[node] = 1; for(auto& u : v[node]) { if(!pass[u]) dfs(u, cont, group); } return; } vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) { int m = p.size(); ans.assign(n, 3); pass.assign(n, 0); v.assign(n + 1, vector <int> ()); vector <bool> subtask(5, 1); for(int i = 0; i < m; i++) { v[p[i]].push_back(q[i]); v[q[i]].push_back(p[i]); if(v[p[i]].size() > 2) subtask[0] = false; if(v[q[i]].size() > 2) subtask[0] = false; } if(subtask[0]) { g.assign(4, 0); g[1] = a; g[2] = b; g[3] = c; dfs(0, 0, 1); return ans; } return ans; }
#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...