제출 #1242619

#제출 시각아이디문제언어결과실행 시간메모리
1242619haithamcoderSplit the Attractions (IOI19_split)C++20
0 / 100
0 ms328 KiB
#include "split.h" #include<bits/stdc++.h> using namespace std; #define ll int #define db(x) cerr << #x << " = " << x << " | " #define dbg(x) cerr << #x << " = " << x << "\n" void pr(vector<ll> a) { for (auto x : a) cout << x << " "; cout << "\n"; } vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) { // vector<ll> res; vector<vector<ll>> adj(n); ll m = p.size(); for (ll i = 0; i < m; i++) { adj[p[i]].push_back(q[i]); adj[q[i]].push_back(p[i]); } ll root = 0; for (ll i = 0; i < n; i++) { if (adj[i].size() == 1) { root = i; break; } } // db(root); ll par = -1, u = root; vector<ll> res(n); ll num = 1; ll cnt = 0; // dbg("here"); while (num < 4) { res[u] = num; cnt++; db(num); dbg(cnt); for (auto c : adj[u]) { if (c != par) { par = u; u = c; } } if ((num == 1 && cnt >= a) || (num == 2 && cnt >= b) || (num == 3 && cnt >= c)) { num++; cnt = 0; } if (num == 4) return res; } return res; }
#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...