QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#560124 | #9237. Message | synonym | 95.5 | 321ms | 4112kb | C++17 | 2.5kb | 2024-09-12 13:00:43 | 2024-09-12 13:00:44 |
Judging History
answer
#include "bits/stdc++.h"
#include "message.h"
using namespace std;
#define int long long
#define all(x) begin(x), end(x)
#define sz(x) (int) (x).size()
const int L = 31;
vector<vector<bool>> kk;
/*
void send_packet(vector<bool> s) {
kk.push_back(s);
}
*/
void send_message(vector<bool> M, vector<bool> C) {
vector<int> pos;
for (int i=0; i<L; i++) {if (!C[i]) pos.push_back(i);}
vector<int> dist;
for (int i=0; i<sz(pos); i++) {
dist.push_back((L+pos[(i+1)%sz(pos)]-pos[i]-1)%L);
}
vector<vector<int>> mess(100,vector<int>(L,-1));
for (int i=0; i<sz(pos); i++) {
for (int j=0; j<dist[i]; j++) {
mess[j][pos[i]]=1;
}
mess[dist[i]][pos[i]]=0;
}
vector<array<int,2>> ava;
for (int i=0; i<100; i++) {
for (int j=0; j<sz(pos); j++) {
if (mess[i][pos[j]]==-1) {
ava.push_back({i,pos[j]});
}
}
}
sort(all(ava)); int cp = 0;
int len = sz(M)-1;
for (int i=0; i<10; i++) {
auto [a,b] = ava[cp++];
// cout<<a<<" "<<b<<" "<<(1<<i)<<" "<<((1<<i)&len)<<endl;
mess[a][b] = ((1<<i)&len)?1:0;
}
for (auto i : M) {
auto [a,b] = ava[cp++];
mess[a][b] = i?1:0;
}
for (auto i : mess) {
int bad=1;
for (int j:i) {
if (j!=-1) bad=0;
}
if (bad) break;
vector<bool> packet;
for (int j:i) {
packet.push_back(j==1);
}
send_packet(packet);
}
}
vector<bool> receive_message(vector<vector<bool>> R) {
vector<int> nx(L,1);
for (int i=0; i<L; i++) {
for (auto m : R) {
if (!m[i]) break;
nx[i]++;
}
}
vector<int> pos;
for (int i=0; i<L; i++) {
int cyc = 1;
int cp = (i+nx[i])%L;
while (cp != i) {
cp = (cp+nx[cp])%L;
cyc++;
if (cyc==100) break;
}
if (cyc==16) pos.push_back(i);
}
vector<array<int,2>> ava;
for (int i : pos) {
for (int j=nx[i]; j<sz(R); j++) {
ava.push_back({j,i});
}
}
sort(all(ava));
int len=1;
int cp = 0;
for (int i=0; i<10; i++) {
auto [a,b] = ava[cp++];
bool x = R[a][b];
if (x) len += (1<<i);
}
vector<bool> ans;
for (int i=0; i<len; i++) {
auto [a,b] = ava[cp++];
bool x = R[a][b];
ans.push_back(x);
}
// cout<<len<<endl;
return ans;
}
/*
signed main() {
ios::sync_with_stdio(false); cin.tie(nullptr);
vector<bool> msg(1024,0);
vector<bool> ctrl;
for (int i=0; i<15; i++) {
ctrl.push_back(1);
}
ctrl.resize(31);
send_message(msg,ctrl);
/* for (auto i : kk) {
for (auto j:i) cout<<j;
cout<<endl;
}
auto x = receive_message(kk);
// cout<<sz(x)<<endl;
for (auto i : x) cout<<i;
return 0;
}
*/
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 108ms
memory: 3832kb
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: 120ms
memory: 4100kb
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: 113ms
memory: 3792kb
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: 92ms
memory: 3984kb
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: 75ms
memory: 3808kb
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: 78ms
memory: 4064kb
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: 66ms
memory: 3916kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Subtask #2:
score: 85.5
Acceptable Answer
Test #8:
score: 85.5
Acceptable Answer
time: 321ms
memory: 3796kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.9500
result:
points 0.95
Test #9:
score: 90
Accepted
time: 175ms
memory: 4108kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #10:
score: 85.5
Acceptable Answer
time: 282ms
memory: 3876kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.9500
result:
points 0.95
Test #11:
score: 85.5
Acceptable Answer
time: 291ms
memory: 3776kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.9500
result:
points 0.95
Test #12:
score: 90
Accepted
time: 277ms
memory: 3796kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #13:
score: 85.5
Acceptable Answer
time: 247ms
memory: 3856kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.9500
result:
points 0.95
Test #14:
score: 85.5
Acceptable Answer
time: 149ms
memory: 4036kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.9500
result:
points 0.95
Test #15:
score: 85.5
Acceptable Answer
time: 215ms
memory: 3924kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.9500
result:
points 0.95
Test #16:
score: 90
Accepted
time: 237ms
memory: 4112kb
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: 129ms
memory: 3796kb
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: 123ms
memory: 4020kb
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: 158ms
memory: 4064kb
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: 151ms
memory: 3872kb
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: 186ms
memory: 4048kb
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: 198ms
memory: 4112kb
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: 209ms
memory: 3796kb
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: 263ms
memory: 3796kb
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: 245ms
memory: 3940kb
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: 273ms
memory: 4064kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #27:
score: 85.5
Acceptable Answer
time: 281ms
memory: 3876kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.9500
result:
points 0.95