QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#575121 | #9237. Message | maxrgby | 0 | 1ms | 4040kb | C++20 | 2.2kb | 2024-09-19 10:40:24 | 2024-09-19 10:40:24 |
answer
// Source: https://kill.yourself/time/right-now
#include <bits/stdc++.h>
#include "message.h"
using namespace std;
// vector<vector<bool>> hehe;
// vector<bool> send_packet(vector<bool> e){
// for(int i = 2;i < 17;i += 1){
// e[i] = !e[i];
// }
// hehe.push_back(e);
// return e;
// }
void send_message(vector<bool> m, vector<bool> c){
int nxt[31];
int diff = 0;
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;
diff += 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++){
vector<bool> tmp = send_packet(ret[i]);
for(int j = 0;j < 31;j++){
cout << tmp[j];
}
cout << endl;
for(int j = 0;j < 31;j++){
cout << ret[i][j];
}
cout << endl;
cout << endl;
}
}
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];
}
char c = ret.back();
while(!ret.empty() and ret.back() == c){
ret.pop_back();
}
return ret;
}
// int main() {
// int n;
// cin >> n;
// vector<bool> a;
// vector<bool> c(31,0);
// for(int i = 0;i < n;i++){
// char c;
// cin >> c;
// a.push_back(c-'0');
// }
// for(int i = 2;i < 17;i += 1){
// c[i] = 1;
// }
// send_message(a,c);
// vector<bool> ans = receive_message(hehe);
// assert(ans == a);
// for(auto i : ans){
// cout << i << " ";
// }
// }
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 4040kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0 ing with message 'Possible tampering with sol2mgr[0]' Sending secret with code DIE to mgr2sol[0] Sending secret with code DIE to mgr2sol[1] Quitting with result code 11
result:
wrong output format Extra information in the output file
Subtask #2:
score: 0
Wrong Answer
Test #8:
score: 0
Wrong Answer
time: 1ms
memory: 3828kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0 ing with message 'Possible tampering with sol2mgr[0]' Sending secret with code DIE to mgr2sol[0] Sending secret with code DIE to mgr2sol[1] Quitting with result code 11
result:
wrong output format Extra information in the output file