제출 #1138799

#제출 시각아이디문제언어결과실행 시간메모리
1138799Noproblem29Amusement Park (JOI17_amusement_park)C++20
65 / 100
16 ms2120 KiB
#include "Joi.h" #include<bits/stdc++.h> using namespace std; #define ll long long mt19937 rnd(26262626); vector<int>f[20000]; bool mark2[20000]; int ps[20000]; int tin2=0; void fart(int x){ mark2[x]=1; ps[x]=(++tin2)%60; shuffle(f[x].begin(),f[x].end(),rnd); for(auto i:f[x]){ if(!mark2[i]){ 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); } for(int j=0;j<N;j++){ if(mark2[j]==0){ fart(j); } } 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 mt19937 rng(26262626); int cnt[60]; vector<int>g[20000]; bool mark[20000]; int lim=0; int gbt=0; bool needtostop(){ for(int j=0;j<60;j++){ if(cnt[j]==-1){ return 0; } } return 1; } int par[20000]; bool mark3[20000]; int tin=0; void far(int x){ mark3[x]=1; par[x]=(++tin)%60; shuffle(g[x].begin(),g[x].end(),rng); for(auto i:g[x]){ if(!mark3[i]){ far(i); } } } void dfs(int x){ mark[x]=1; if(needtostop())return; for(auto i:g[x]){ if(!mark[i]){ if(lim<=120||gbt!=5){ lim++; cnt[par[i]]=Move(i); } dfs(i); if(needtostop())return; if(lim<=120||gbt!=5){ lim++; 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; } gbt=T; for(int j=0;j<n;j++){ if(mark3[j]==0){ far(j); } } 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]==-1){ cnt[i]=0; } 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...