#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;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
1264 KB |
Wrong Answer [8] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
46 ms |
4072 KB |
Wrong Answer [8] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
4 ms |
4072 KB |
Wrong Answer [8] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
39 ms |
4184 KB |
Wrong Answer [8] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
31 ms |
4336 KB |
Wrong Answer [8] |
2 |
Halted |
0 ms |
0 KB |
- |