Submission #939307

#TimeUsernameProblemLanguageResultExecution timeMemory
939307PringStray Cat (JOI20_stray)C++17
15 / 100
45 ms17228 KiB
#include <bits/stdc++.h> #include "Anthony.h" using namespace std; const string dbmc = "\033[1;38;2;57;197;187m", dbrs = "\033[0m"; #define fs first #define sc second #define mp make_pair #define FOR(i, j, k) for (int i = j, Z = k; i < Z; i++) typedef pair<int, int> pii; namespace { const int MXN = 20005; int n, m, A, B; vector<int> eu, ev; vector<int> eid[MXN]; int d[MXN]; vector<int> tag; namespace NSA { void BSH(int sr) { fill(d, d + n, -1); queue<pii> q; q.push(mp(0, sr)); while (q.size()) { auto [dep, id] = q.front(); q.pop(); if (d[id] != -1) continue; d[id] = dep; for (auto &e : eid[id]) { int i = eu[e] ^ ev[e] ^ id; if (d[i] != -1) continue; q.push(mp(dep + 1, i)); } } } vector<int> Mark() { BSH(0); tag.resize(m); FOR(i, 0, m) { if (d[eu[i]] == d[ev[i]]) tag[i] = d[eu[i]] % 3; else tag[i] = min(d[eu[i]], d[ev[i]]) % 3; } return tag; } } namespace NSB { vector<int> Mark() { return vector<int>(); } } } vector<int> Mark(int _n, int _m, int _a, int _b, vector<int> _eu, vector<int> _ev) { n = _n; m = _m; A = _a; B = _b; eu = _eu; ev = _ev; FOR(i, 0, m) { eid[eu[i]].push_back(i); eid[ev[i]].push_back(i); } return (A >= 3 ? NSA::Mark() : NSB::Mark()); }
#include <bits/stdc++.h> #include "Catherine.h" using namespace std; #define fs first #define sc second #define mp make_pair #define FOR(i, j, k) for (int i = j, Z = k; i < Z; i++) typedef pair<int, int> pii; namespace { int A, B; namespace NSA { int Move(vector<int> &y) { int a = y[0], b = y[1], c = y[2]; int cnt = (a != 0) + (b != 0) + (c != 0); if (cnt == 1) return (a ? 0 : (b ? 1 : 2)); return (a == 0 ? 1 : (b == 0 ? 2 : 0)); } } namespace NSB { int Move(vector<int> &y) { return -1; } } } void Init(int _a, int _b) { A = _a; B = _b; } int Move(vector<int> y) { return (A >= 3 ? NSA::Move(y) : NSB::Move(y)); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...