제출 #916165

#제출 시각아이디문제언어결과실행 시간메모리
916165AbitoAmusement Park (JOI17_amusement_park)C++14
8 / 100
1790 ms262144 KiB
#include "Joi.h" #include <bits/stdc++.h> using namespace std; void Joi(int N, int M, int A[], int B[], long long X, int T) { for (int i=0;i<N;i++) MessageBoard(i,bool(X&(1LL<<(i%60)))); return; }
#include "Ioi.h" #include <bits/stdc++.h> #define pb push_back using namespace std; const int NN=1e4+5; vector<int> adj[NN]; int n,m,calc=1,dis[NN][NN]; long long X=0; bool vis[NN],calced[60],viss[NN][NN]; void dfs(int node,int p){ vis[node]=true; if (calc==60) return; for (auto u:adj[node]){ if (vis[u]) continue; if (!calced[u%60]){ calced[u%60]=1; calc++; } int y=Move(u); if (y) X|=(1LL<<(u%60)); dfs(u,node); if (calc==60) return; } if (p!=-1){ int y=Move(p); if (y) X|=(1LL<<(p%60)); } return; } void bfs(int s){ queue<int> q;q.push(s);viss[s][s]=true; while (!q.empty()){ int x=q.front(); q.pop(); for (auto u:adj[x]){ if (viss[s][u]) continue; dis[s][u]=dis[s][x]+1; viss[s][u]=true; q.push(u); } }return; } long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) { n=N,m=M; for (int i=0;i<m;i++){ adj[A[i]].pb(B[i]); adj[B[i]].pb(A[i]); } for (int i=0;i<n;i++) bfs(i); if (V) X|=(1LL<<(P%60)); calced[P%60]=true; dfs(P,-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...