Submission #481948

#TimeUsernameProblemLanguageResultExecution timeMemory
481948jesus_coconutAmusement Park (JOI17_amusement_park)C++17
28 / 100
30 ms4052 KiB
#include <bits/stdc++.h> #include "Joi.h" using namespace std; using ll = long long; void Joi(int N, int M, int A[], int B[], long long X, int T) { bool bio[N]; memset(bio, 0, sizeof bio); int p = 0; vector<vector<int>> adj(N); for (int i = 0; i < M; ++i) { adj[A[i]].push_back(B[i]); adj[B[i]].push_back(A[i]); } for (auto &v: adj) sort(begin(v), end(v)); function<void(int)> dfs = [&](int ver) { bio[ver] = true; MessageBoard(ver, (X >> p++) & 1); p %= 60; for (auto u: adj[ver]) if (!bio[u]) { dfs(u); } }; dfs(0); }
#include <bits/stdc++.h> #include "Ioi.h" using namespace std; long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) { int limit = 20000; if (T == 5) limit = 120; else if (T == 4) limit = 960; else if (T == 3) limit = 250; vector<vector<int>> adj(N); for (int i = 0; i < M; ++i) { adj[A[i]].push_back(B[i]); adj[B[i]].push_back(A[i]); } for (auto &v: adj) sort(begin(v), end(v)); int col[N]; bool bio[N]; memset(bio, 0, sizeof bio); int p = 0; function<void(int)> dfsfind = [&](int ver) { bio[ver] = true; col[ver] = p++; p %= 60; for (auto u: adj[ver]) if (!bio[u]) { dfsfind(u); } }; dfsfind(0); memset(bio, 0, sizeof bio); long long ans = (1ll * V) << col[P]; int cnt = 0; function<void(int, int)> dfs = [&](int ver, int par) { if (cnt >= limit) return; bio[ver] = true; for (auto u: adj[ver]) if (!bio[u]) { if (cnt >= limit) return; ++cnt; long long v = Move(u); ans |= v << col[u]; dfs(u, ver); } if (cnt >= limit) return; if (par != -1) { ++cnt; assert(binary_search(begin(adj[ver]), end(adj[ver]), par)); Move(par); } }; dfs(P, -1); 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...