Submission #1138786

#TimeUsernameProblemLanguageResultExecution timeMemory
1138786Noproblem29Amusement Park (JOI17_amusement_park)C++20
10 / 100
14 ms2180 KiB
#include "Joi.h" #include<bits/stdc++.h> using namespace std; #define ll long long vector<int>f[20000]; bool mark2[20000]; int ps[20000]; void fart(int x){ mark2[x]=1; // shuffle(g[x].begin(),g[x].end(),rnd); for(auto i:f[x]){ if(!mark2[i]){ ps[i]=(ps[x]+1)%60; fart(i); } } } void Joi(int N, int M, int A[], int B[], long long X, int T) { for(int i=0;i<M;i++){ f[A[i]].push_back(B[i]); f[B[i]].push_back(A[i]); } for(int j=0;j<N;j++){ ps[j]=(j%60); } fart(0); for(int i=0;i<N;i++){ ll cur=ps[i]; ll bt=(X>>cur)&1ll; MessageBoard(i,bt); } }
#include "Ioi.h" #include<bits/stdc++.h> using namespace std; #define ll long long int cnt[60]; vector<int>g[20000]; bool mark[20000]; bool needtostop(){ for(int j=0;j<60;j++){ if(cnt[j]==-1){ return 0; } } return 1; } int par[20000]; bool mark3[20000]; void far(int x){ mark3[x]=1; for(auto i:g[x]){ if(!mark3[i]){ par[i]=(par[x]+1)%60; far(i); } } } void dfs(int x){ mark[x]=1; if(needtostop())return; for(auto i:g[x]){ if(!mark[i]){ cnt[par[i]]=Move(i); dfs(i); if(needtostop())return; cnt[par[x]]=Move(x); } } } long long Ioi(int n, int m, int a[], int b[], int ppos, int V, int T) { for(int i=0;i<m;i++){ g[a[i]].push_back(b[i]); g[b[i]].push_back(a[i]); } for(int j=0;j<n;j++){ par[j]=j%60; } // far(0); for(int i=0;i<60;i++){ cnt[i]=-1; } cnt[par[ppos]]=V; dfs(ppos); ll ans=0; for(ll i=0;i<60;i++){ if(cnt[i]){ ans+=(1ll<<i); } } 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...