이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |