QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#575146 | #9237. Message | maxrgby | 0 | 183ms | 4132kb | C++20 | 2.8kb | 2024-09-19 10:54:01 | 2024-09-19 10:54:02 |
Judging History
answer
// Source: https://kill.yourself/time/right-now
#include <bits/stdc++.h>
#include "message.h"
using namespace std;
// vector<vector<bool>> hehe;
// void send_message(vector<bool> m, vector<bool> c){
// vector<bool> zero (31,0);
// vector<bool> one (31,1);
// for(auto i : m){
// if(i){
// send_packet(one);
// }else{
// send_packet(zero);
// }
// }
// }
// vector<bool> receive_message(vector<vector<bool>> r){
// vector<bool> ans;
// for(auto i : r){
// int zero = 0;
// int one = 0;
// for(auto j : i){
// if(j){
// one++;
// }else{
// zero++;
// }
// }
// if(zero > one){
// ans.push_back(0);
// }else{
// ans.push_back(1);
// }
// }
// return ans;
// }
// 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++){
if(tmp[j] != ret[i][j] && !c[j]){
assert(false);
}
}
}
}
vector<bool> receive_message(vector<vector<bool>> r){
for(int i = 0;i < 66;i++){
for(int j = 0;j < 31;j++){
cout << r[i][j];
}
cout << endl;
}
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 << " ";
// }
// }
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 169ms
memory: 4132kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
1011110101111011101110110110111 1011111101111111111111110111111 1011111101111111111111111111111 0011111101111111111111111111111 0111111111111111111111111111111 0111111111111111111111111111111 1111111111111111111111111111111 0111111111111111111111111111111 0111111111111111111111111111111 011111111111...
Manager to Checker
0 ing with message 'Possible tampering with sol2mgr[1]' 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: 183ms
memory: 3772kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
0101111110101111101101010111101 1101111101101111011011110111011 0101110111101111101011011111001 0111110110101111111101111110011 0111111011111111111011011110001 0101111001101111001111111111011 0111110111111111111001110111011 0111111001111111011011011111101 0111110001101111011001010111001 110111101011...
Manager to Checker
0 ing with message 'Possible tampering with sol2mgr[1]' Sending secret with code DIE to mgr2sol[1] Quitting with result code 11
result:
wrong output format Extra information in the output file