#include <bits/stdc++.h>
#include "Joi.h"
using namespace std;
using ll = long long;
void Joi(int N, int M, int A[], int B[], long long X, int T) {
bool bio[N];
memset(bio, 0, sizeof bio);
int p = 0;
vector<vector<int>> adj(N);
for (int i = 0; i < M; ++i) {
adj[A[i]].push_back(B[i]);
adj[B[i]].push_back(A[i]);
}
for (auto &v: adj) sort(begin(v), end(v));
function<void(int)> dfs = [&](int ver) {
bio[ver] = true;
MessageBoard(ver, (X >> p++) & 1);
p %= 60;
for (auto u: adj[ver]) if (!bio[u]) {
dfs(u);
}
};
dfs(0);
}
#include <bits/stdc++.h>
#include "Ioi.h"
using namespace std;
long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) {
int limit = 20000;
if (T == 5) limit = 120;
else if (T == 4) limit = 960;
else if (T == 3) limit = 250;
vector<vector<int>> adj(N);
for (int i = 0; i < M; ++i) {
adj[A[i]].push_back(B[i]);
adj[B[i]].push_back(A[i]);
}
for (auto &v: adj) sort(begin(v), end(v));
int col[N];
bool bio[N];
memset(bio, 0, sizeof bio);
int p = 0;
function<void(int)> dfsfind = [&](int ver) {
bio[ver] = true;
col[ver] = p++;
p %= 60;
for (auto u: adj[ver]) if (!bio[u]) {
dfsfind(u);
}
};
dfsfind(0);
memset(bio, 0, sizeof bio);
long long ans = (1ll * V) << col[P];
int cnt = 0;
function<void(int, int)> dfs = [&](int ver, int par) {
if (cnt >= limit) return;
bio[ver] = true;
for (auto u: adj[ver]) if (!bio[u]) {
if (cnt >= limit) return;
++cnt;
long long v = Move(u);
ans |= v << col[u];
dfs(u, ver);
if (cnt >= limit) return;
++cnt;
Move(ver);
}
if (cnt >= limit) return;
if (par != -1) {
++cnt;
assert(binary_search(begin(adj[ver]), end(adj[ver]), par));
Move(par);
}
};
dfs(P, -1);
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
496 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
20 ms |
3928 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
488 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
22 ms |
3912 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
20 ms |
3892 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |