Submission #298197

#TimeUsernameProblemLanguageResultExecution timeMemory
298197pit4hAmusement Park (JOI17_amusement_park)C++14
10 / 100
33 ms4528 KiB
#include "Joi.h" #include<bits/stdc++.h> using namespace std; using ll = long long; const int _N = 1e4+1, _B = 60; vector<int> g[_N]; bool vis[_N]; int cnt_preorder, preord[_N]; ll X; void dfs(int x) { vis[x] = 1; preord[x] = cnt_preorder; cnt_preorder++; for(int i: g[x]) { if(!vis[i]) { dfs(i); } } } void Joi(int N, int M, int A[], int B[], ll _X, int T) { // MessageBoard(); X = _X; for(int i=0; i<M; ++i) { g[A[i]].push_back(B[i]); g[B[i]].push_back(A[i]); } for(int i=0; i<N; ++i) { sort(g[i].begin(), g[i].end()); } dfs(0); for(int i=0; i<N; ++i) { int set_bit = preord[i]%_B; MessageBoard(i, (bool)(X&(1LL<<set_bit))); } }
#include "Ioi.h" #include<bits/stdc++.h> using namespace std; using ll = long long; const int __N = 1e4+1; const int bits = 60; int par[__N]; bool added[bits]; int cur, val; int cnt_mv; int value[__N]; bool is_set[__N]; void mv(int from, int to) { if(from != cur || cnt_mv>=2*bits) { return; } cnt_mv++; cur = to; val = Move(to); value[cur] = val; is_set[cur] = 1; } void _dfs(int x, vector<int>& vis, vector<vector<int>>& g, vector<int>& preorder, int& nr) { vis[x] = 1; preorder[x] = nr; nr++; for(int i: g[x]) { if(!vis[i]) { par[i] = x; mv(x, i); _dfs(i, vis, g, preorder, nr); } } if(x != 0) { mv(x, par[x]); } } long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) { vector<vector<int>> g(N); vector<int> vis(N), preorder(N); int nr = 0; for(int i=0; i<M; ++i) { g[A[i]].push_back(B[i]); g[B[i]].push_back(A[i]); } for(int i=0; i<N; ++i) { sort(g[i].begin(), g[i].end()); } cur = P; val = V; _dfs(0, vis, g, preorder, nr); ll X = 0; for(int i=0; i<N; ++i) { if(is_set[i]) { int bit = preorder[i]%bits; if(!added[bit]) { X += (ll)value[i] * (1LL<<bit); added[bit]=1; } } } return X; }
#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...