QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#561652 | #9237. Message | nhuang685 | 100 ✓ | 235ms | 4088kb | C++23 | 2.4kb | 2024-09-13 05:06:54 | 2024-09-13 05:06:54 |
Judging History
answer
/**
* @author n685
* @brief
* @date 2024-09-12 16:26:47
*
*
*/
#include "bits/stdc++.h"
#include "message.h"
#ifdef LOCAL
#include "dd/debug.h"
#else
#define dbg(...) 42
#define dbg_proj(...) 420
#define dbg_rproj(...) 420420
void nline() {}
void bar() {}
void start_clock() {}
void end_clock() {}
#endif
namespace rs = std::ranges;
namespace rv = std::views;
constexpr int N = 1025, Q = 66, LEN = 31, GOOD = 16;
void send_message(std::vector<bool> M, std::vector<bool> C) {
dbg(1);
M.push_back(true);
M.resize(N);
const std::vector<bool> m{std::move(M)}, c{std::move(C)};
std::array<int, LEN> mx{};
mx.fill(-1);
for (int i = 0; i < LEN; ++i) {
if (c[i]) {
continue;
}
for (int j = 1;; ++j) {
if (!c[(i + j) % LEN]) {
mx[i] = j - 1;
break;
}
}
}
dbg(mx);
int ind = 0;
std::vector<bool> arr(LEN);
for (int i = 0; i < Q; ++i) {
for (int j = 0; j < LEN; ++j) {
if (c[j]) {
continue;
}
if (i < mx[j]) {
arr[j] = true;
} else if (i == mx[j]) {
arr[j] = false;
} else if (ind < N) {
arr[j] = m[ind++];
}
}
send_packet(arr);
}
}
std::vector<bool> receive_message(std::vector<std::vector<bool>> R) {
dbg(2);
const std::vector<std::vector<bool>> r{std::move(R)};
std::array<int, LEN> nxt{};
nxt.fill(-1);
for (int i = 0; i < Q; ++i) {
for (int j = 0; j < LEN; ++j) {
if (nxt[j] == -1 && !r[i][j]) {
nxt[j] = (j + (i + 1)) % LEN;
}
}
}
dbg(nxt);
std::vector<bool> c(LEN, true);
for (int i = 0; i < LEN; ++i) {
int node = i;
bool g = true;
for (int j = 0; j < GOOD - 1; ++j) {
node = nxt[node];
if (node == -1 || node == i) {
g = false;
break;
}
}
if (g && nxt[node] == i) {
node = i;
for (int j = 0; j < GOOD; ++j) {
c[node] = false;
node = nxt[node];
}
break;
}
}
std::vector<bool> m;
std::vector<bool> st(LEN);
for (int i = 0; i < Q; ++i) {
for (int j = 0; j < LEN; ++j) {
if (c[j]) {
continue;
}
if (st[j]) {
m.push_back(r[i][j]);
} else if (!r[i][j]) {
st[j] = true;
}
}
}
while (!m.empty() && !m.back()) {
m.pop_back();
}
m.pop_back();
return m;
}
详细
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 179ms
memory: 3732kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #2:
score: 10
Accepted
time: 164ms
memory: 4076kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #3:
score: 10
Accepted
time: 157ms
memory: 3784kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #4:
score: 10
Accepted
time: 136ms
memory: 3968kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #5:
score: 10
Accepted
time: 92ms
memory: 3820kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #6:
score: 10
Accepted
time: 106ms
memory: 4040kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #7:
score: 10
Accepted
time: 104ms
memory: 3736kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Subtask #2:
score: 90
Accepted
Test #8:
score: 90
Accepted
time: 188ms
memory: 4004kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #9:
score: 90
Accepted
time: 135ms
memory: 3688kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #10:
score: 90
Accepted
time: 152ms
memory: 3740kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #11:
score: 90
Accepted
time: 201ms
memory: 3784kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #12:
score: 90
Accepted
time: 235ms
memory: 4084kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #13:
score: 90
Accepted
time: 92ms
memory: 3992kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #14:
score: 90
Accepted
time: 78ms
memory: 4084kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #15:
score: 90
Accepted
time: 122ms
memory: 3756kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #16:
score: 90
Accepted
time: 127ms
memory: 3792kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #17:
score: 90
Accepted
time: 207ms
memory: 3744kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #18:
score: 90
Accepted
time: 186ms
memory: 3800kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #19:
score: 90
Accepted
time: 146ms
memory: 3752kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #20:
score: 90
Accepted
time: 145ms
memory: 3728kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #21:
score: 90
Accepted
time: 170ms
memory: 3808kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #22:
score: 90
Accepted
time: 215ms
memory: 4004kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #23:
score: 90
Accepted
time: 148ms
memory: 3808kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #24:
score: 90
Accepted
time: 149ms
memory: 3800kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #25:
score: 90
Accepted
time: 154ms
memory: 4088kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #26:
score: 90
Accepted
time: 171ms
memory: 4008kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #27:
score: 90
Accepted
time: 203ms
memory: 3800kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Extra Test:
score: 0
Extra Test Passed