이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "Joi.h"
#include <bits/stdc++.h>
#define F(i,s,n) for(int i=s;i<n;i++)
#define EB emplace_back
#define G(i,x) get<i>(x)
using namespace std;
typedef pair<int,int> ii;
typedef vector<int> vi;
typedef long long ll;
typedef vector<ii> vii;
static ll x;
static int vis[10005],cnt;
static vi adj[10005];
static void dfs(int v){
if((1LL<<cnt++%60)&x){
MessageBoard(v,1);
}
else MessageBoard(v,0);
for(int u:adj[v]){
if(!vis[u]){
vis[u]=1;
dfs(u);
}
}
}
void Joi(int N, int M, int A[], int B[], long long X, int T) {
x=X;
F(i,0,M){
adj[A[i]].EB(B[i]);
adj[B[i]].EB(A[i]);
}
vis[0]=1;
dfs(0);
}
#include "Ioi.h"
#include <bits/stdc++.h>
#define F(i,s,n) for(int i=s;i<n;i++)
#define EB emplace_back
#define G(i,x) get<i>(x)
using namespace std;
typedef pair<int,int> ii;
typedef vector<int> vi;
typedef long long ll;
typedef vector<ii> vii;
static ll x;
static int vis[10005],p,hp,cnt,qcnt,pcnt,st[10005];
static vi adj[10005];
static void dfs(int v){
int ccnt=cnt++;
if(v==p){
pcnt=ccnt;
hp=1;
}
for(int u:adj[v]){
if(!vis[u]){
vis[u]=1;
if(hp/*&&!st[ccnt+1]*/){
if(Move(u))x|=(1LL<<(ccnt+1)%60);
qcnt++;
//st[ccnt+1]=1;
}
dfs(u);
if(hp){
if(Move(v))x|=(1LL<<ccnt%60);
qcnt++;
st[ccnt]=1;
}
}
}
}
long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) {
p=P;
F(i,0,M){
adj[A[i]].EB(B[i]);
adj[B[i]].EB(A[i]);
}
while(true){
Move(adj[P][0]);
Move(P);
}
vis[0]=1;
dfs(0);
//if(V)x|=(1<<pcnt%60);
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... |