Submission #1138779

#TimeUsernameProblemLanguageResultExecution timeMemory
1138779Noproblem29Amusement Park (JOI17_amusement_park)C++20
10 / 100
15 ms2120 KiB
#include "Joi.h" #include<bits/stdc++.h> using namespace std; #define ll long long struct strik{ vector<int>f[20000]; bool mark[20000]; int pos[20000]; void fart(int x){ mark[x]=1; // shuffle(g[x].begin(),g[x].end(),rnd); for(auto i:f[x]){ if(!mark[i]){ pos[i]=(pos[x]+1)%60; fart(i); } } } }st; void Joi(int N, int M, int A[], int B[], long long X, int T) { for(int i=0;i<M;i++){ st.f[A[i]].push_back(B[i]); st.f[B[i]].push_back(A[i]); } for(int j=0;j<N;j++){ st.pos[j]=(j%60); } st.fart(0); for(int i=0;i<N;i++){ ll cur=st.pos[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 pos, 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[pos]]=V; dfs(pos); 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...