QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#574956 | #9237. Message | maxrgby | 0 | 0ms | 0kb | C++20 | 1.6kb | 2024-09-19 09:15:52 | 2024-09-19 09:15:58 |
answer
// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
#include "message.h"
using namespace std;
void send_message(vector<bool> m, vector<bool> c){
assert(c.size() == 31);
int nxt[31];
for(int i = 0;i < 31;i++){
nxt[i] = 66;
if(c[i]){
continue;
}
for(int j = 1;j < 31;j++){
if(!c[(i+j)%31]){
nxt[i] = j;
break;
}
}
}
bool tmp = !m.back();
while(m.size() < 1025){
m.push_back(tmp);
}
vector<bool> ret[66];
for(int i = 0;i < 66;i++){
ret[i].resize(31);
}
int pos = 0;
for(int i = 0;i < 31;i++){
for(int j = 0;j < nxt[i]-1;j++){
ret[j][i] = 0;
}
ret[nxt[i]-1][i] = 1;
for(int j = nxt[i];j < 66;j++){
ret[j][i] = m[pos++];
}
}
for(int i = 0;i < 66;i++){
send_packet(ret[i]);
}
}
vector<bool> receive_message(vector<vector<bool>> r){
int nxt[31];
for(int i = 0;i < 31;i++){
nxt[i] = 66;
for(int j = 0;j < 66;j++){
if(r[j][i]){
nxt[i] = (i+j+1)%31;
break;
}
}
}
int good = -1;
for(int i = 0;i < 31;i++){
int u = i;
for(int j = 0;j < 16;j++){
u = nxt[u];
}
if(u == i){
good = i;
break;
}
}
vector<bool> ret;
for(int i = 0;i < 16;i++){
int j = 0;
while(j < 66 and !r[j][good]){
j++;
}
j++;
while(j < 66){
ret.push_back(r[j][good]);
j++;
}
good = nxt[good];
}
while(ret[ret.size()-1] == ret[ret.size()-2]){
ret.pop_back();
}
ret.pop_back();
return ret;
}
// int main() {
// int a, b, c; cin >> a >> b >> c;
// cout << "The sum of these three numbers is " << a + b + c << "\n";
// }
詳細信息
Subtask #1:
score: 0
Instance #1 Runtime Error
Test #1:
score: 0
Instance #1 Runtime Error
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0 ing with message 'manual RTE, cant read int from grader' Quitting with result code 1
result:
Subtask #2:
score: 0
Instance #1 Runtime Error
Test #8:
score: 0
Instance #1 Runtime Error
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0 ing with message 'manual RTE, cant read int from grader' Quitting with result code 1