QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#575089 | #9237. Message | maxrgby | 0 | 1ms | 4060kb | C++20 | 2.6kb | 2024-09-19 10:25:05 | 2024-09-19 10:25:05 |
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){
//cout << "kill yourself" << endl;
// for(auto i : m){
// cout << i << " ";
// }
// cout << endl;
int nxt[31];
int diff = 0;
for(int i = 0;i < 31;i++){
nxt[i] = 66;
if(c[i]){
continue;
}
//cout << i << " ";
for(int j = 1;j < 31;j++){
if(!c[(i+j)%31]){
nxt[i] = j;
//cout << nxt[i] << " ";
diff += j;
break;
}
}
}
cout << endl;
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++){
// for(auto j : ret[i]){
// cout << j;
// }
// cout << endl;
// }
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 < 66;i++){
for(auto j : r[i]){
cout << j;
}
cout << endl;
}
for(int i = 0;i < 31;i++){
nxt[i] = 66;
for(int j = 0;j < 66;j++){
//cout << r[j][i];
if(r[j][i]){
nxt[i] = (i+j+1)%31;
//cout << nxt[i] << " ";
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++;
}
//cout << good << " ";
good = nxt[good];
}
char c = ret.back();
while(!ret.empty() and ret.back() == c){
ret.pop_back();
}
// for(auto i : ret){
// cout << i << " ";
// }
// cout << endl;
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: 3832kb
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: 4060kb
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