QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#833941 | #9237. Message | hansiyuan | 0 | 0ms | 0kb | C++17 | 2.0kb | 2024-12-27 08:46:12 | 2024-12-27 08:46:12 |
answer
#include "message.h"
#include<bits/stdc++.h>
using namespace std;
int n;
bool B[100][31];
int pos[31];
void get_nxt(int &k,vector<bool> C){
if(pos[k]+1>=66){
k++;
while(C[k]) k++;
}
else pos[k]++;
}
void send_message(vector<bool> A,vector<bool> C){
memset(pos,0,sizeof(pos));
memset(B,0,sizeof(B));
n = A.size();
for(int i=0;i<31;i++){
if(C[i]) continue;
int j = (i+1)%31;
while(C[j]) j=(j+1)%31;
pos[i] = (j-i+31)%31-1;
B[pos[i]++][i] = 1;
}
int k=0;
while(C[k]) k++;
for(int i=15;i>=0;i--){
B[pos[k]][k] = n>>i&1;
get_nxt(k,C);
}
for(int i=0;i<n;i++){
B[pos[k]][k] = A[i];
if(i<n-1) get_nxt(k,C);
}
vector<bool> p(31,0);
for(int i=0;i<66;i++){
for(int j=0;j<31;j++)
p[j] = B[i][j];//,printf("%d ",B[i][j]);
// puts("");
send_packet(p);
}
}
bool flg;
int fa[31];
int stk[35],top;
vector<bool> C(31,0);
void dfs(int u){
if(pos[u]){
if(top-pos[u]+1==16){
flg=1;
for(int i=pos[u];i<=top;i++)
C[stk[i]]=0;
}
return;
}
stk[++top] = u;
pos[u] = top;
dfs(fa[u]);
}
vector<bool> res;
vector<bool> receive_message(vector<vector<bool>> A){
for(int i=0;i<31;i++){
fa[i]=0;
while(fa[i]<31 && A[fa[i]][i]==0) fa[i]++;
fa[i] += i+1;
fa[i] %= 31;
}
for(int i=0;i<31;i++) C[i]=1,pos[i]=0;
flg=0;
for(int i=0;i<31;i++)
if(!pos[i] && !flg) dfs(i);
for(int i=0;i<31;i++){
if(C[i]) continue;
int j = i+1;
while(C[j]) j=(j+1)%31;
pos[i] = (j-i+31)%31;
}
int k = 0;
while(C[k]) k++;
int n = 0;
for(int i=15;i>=0;i--){
if(A[pos[k]][k]) n|=(1<<i);
get_nxt(k,C);
}
res.resize(n);
for(int i=0;i<n;i++){
res[i] = A[pos[k]][k];
if(i<n-1) get_nxt(k,C);
}
return res;
}
Details
Tip: Click on the bar to expand more detailed information
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 #0 Runtime Error
Test #8:
score: 0
Instance #0 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' Sending secret with code DIE to mgr2sol[1] Quitting with result code 1