Submission #57626

#TimeUsernameProblemLanguageResultExecution timeMemory
57626hamzqq9Amusement Park (JOI17_amusement_park)C++14
80 / 100
54 ms6712 KiB
#include "Joi.h" #include<bits/stdc++.h> using namespace std; #define ll long long #define st first #define nd second #define pb push_back #define MAX 20005 #define sz(x) ((int)x.size()) #define pw(x) (1LL<<(x)) static int Time; static int beg[MAX]; static bool Bit[MAX],vis[MAX]; static vector<int> v[MAX]; static void createbits(ll x) { for(int i=0;i<60;i++) Bit[i]=((x>>i)&1); } static void dfs(int node) { vis[node]=true; beg[node]=Time++; MessageBoard(node,Bit[beg[node]%60]); for(int i:v[node]) { if(vis[i]) continue ; dfs(i); } } void Joi(int N, int M, int A[], int B[], long long X, int T) { createbits(X); for(int i=0;i<M;i++) { v[A[i]].pb(B[i]); v[B[i]].pb(A[i]); } dfs(1); }
#include "Ioi.h" #include<bits/stdc++.h> using namespace std; #define ll long long #define st first #define nd second #define pb push_back #define MAX 20005 #define sz(x) ((int) x.size()) #define pw(x) (1LL<<(x)) static int sub[MAX],Par[MAX],beg[MAX]; static int Time,total,V,P; static ll X; static vector<int> v[MAX],v2[MAX]; static bool vis[MAX]; static void dfs2(int node) { total++; X|=V*pw(beg[node]%60); for(int i:v2[node]) { if(total==60) continue ; V=Move(i); dfs2(i); if(total<60) V=Move(node); } } static void solve() { while(1) { if(sub[P]>=60) break ; P=Par[P]; V=Move(P); } dfs2(P); } static void dfs(int node,int ata) { vis[node]=true; sub[node]=1; beg[node]=Time++; Par[node]=ata; if(~ata) v2[ata].pb(node); for(int i:v[node]) { if(vis[i]) continue ; dfs(i,node); sub[node]+=sub[i]; } } long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) { for(int i=0;i<M;i++) { v[A[i]].pb(B[i]); v[B[i]].pb(A[i]); } ::P=P; ::V=V; dfs(1,-1); solve(); 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...