Submission #1202642

#TimeUsernameProblemLanguageResultExecution timeMemory
1202642LIAAmusement Park (JOI17_amusement_park)C++20
0 / 100
17 ms2120 KiB
// Joi.cpp #include "Joi.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef tuple<ll, ll, ll> plll; typedef vector<plll> vplll; typedef pair<ll, ll> pll; typedef vector<ll> vll; typedef vector<pll> vpll; typedef vector<vector<pll>> vvpll; typedef vector<vector<ll>> vvll; typedef vector<bool> vb; typedef vector<vector<bool>> vvb; #define loop(i, s, e) for (ll i = (s); i < (e); ++i) #define loopr(i, e, s) for (ll i = (e)-1; i >= (s); --i) #define all(a) a.begin(), a.end() const ll inf = 1e9 + 7; static vvll g; static vb vis; static ll cnt; static void dfs(ll node) { if (cnt == 0) return; cnt--; MessageBoard(node, 1); vis[node] = true; for (auto it : g[node]) { if (!vis[it]) dfs(it); } } void Joi(int n, int m, int a[], int b[], long long x, int t) { cnt = x; g.assign(n, {}); vis.assign(n, false); for (int i = 0; i < m; i++) { int ai = a[i], bi = b[i]; g[ai].push_back(bi); g[bi].push_back(ai); } for (int u = 0; u < n; u++) { sort(g[u].begin(), g[u].end()); } dfs(0); for (int i = 0; i < n; i++) { if (!vis[i]) MessageBoard(i, 0); } }
// Ioi.cpp #include "Ioi.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef tuple<ll, ll, ll> plll; typedef vector<plll> vplll; typedef pair<ll, ll> pll; typedef vector<ll> vll; typedef vector<pll> vpll; typedef vector<vector<pll>> vvpll; typedef vector<vector<ll>> vvll; typedef vector<bool> vb; typedef vector<vector<bool>> vvb; #define loop(i, s, e) for (ll i = (s); i < (e); ++i) #define loopr(i, e, s) for (ll i = (e)-1; i >= (s); --i) #define all(a) a.begin(), a.end() const ll inf = 1e9 + 7; static vvll ad; static vb vis1; static ll cnt1; static void dfs(int node) { vis1[node] = true; for (int nxt : ad[node]) { if (!vis1[nxt]) { ll a = Move(nxt); // go down one edge cnt1+=a; dfs(nxt); ll b = Move(node); // come right back up one edge } } } long long Ioi(int n, int m, int a[], int b[], int p, int v, int t) { ad.assign(n, {}); vis1.assign(n, false); for (int i = 0; i < m; i++) { int ai = a[i], bi = b[i]; ad[ai].push_back(bi); ad[bi].push_back(ai); } for (int u = 0; u < n; u++) { sort(ad[u].begin(), ad[u].end()); } int cur = p; vll pari(n); while (cur != 0) { ll par = pari[cur]; Move(par); cur = par; } dfs(0); cnt1 = v; dfs(p); return cnt1; }
#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...