QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#562884 | #9237. Message | sz051 | 0 | 0ms | 0kb | C++20 | 1.7kb | 2024-09-13 22:17:38 | 2024-09-13 22:17:38 |
answer
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <bitset>
#include <map>
#include <cassert>
#include <queue>
#define int long long
using namespace std;
vector<bool> send_packet(vector<bool> A);
int stat[40];
void send_message(vector<bool> M,vector<bool> C){
M.push_back(1);
while(M.size()!=1025){
M.push_back(0);
}
int lst=-1;
for(int i=0;i<31;i++){
if(C[i]){
stat[i]=lst;
lst=i;
}
}
vector<bool> val[66];
for(int i=0;i<66;i++){
val[i]=vector<bool>(31,0);
}
int pos=0;
for(int i=0;i<31;i++){
if(C[i]){
for(int j=0;j<66;j++){
int diff=i-((stat[i]==-1)?lst-31:stat[i])-1;
if(j==diff){
val[j][i]=1;
}else if(j>diff){
val[j][i]=M[pos++];
}
}
}
}
for(int i=0;i<66;i++){
send_packet(val[i]);
}
}
vector<bool> receive_message(vector<vector<bool> > R){
int nxt[40];
for(int i=0;i<31;i++){
nxt[i]=0;
for(int j=0;j<66;j++){
if(R[j][i]){
nxt[i]=(i-j+30)%31;
}
}
}
vector<bool> res;
bool vis[40];
for(int i=0;i<31;i++){
int cur=i,siz=1;
memset(vis,0,sizeof(vis));
while(!vis[cur]){
vis[cur]=1;
siz++;
cur=nxt[cur];
}
if(cur!=i){
continue;
}
if(siz==16){
vector<int> cont;
cont.push_back(i);
while(1){
if(nxt[cont.back()]==i){
break;
}
cont.push_back(nxt[cont.back()]);
}
sort(cont.begin(),cont.end());
for(int j:cont){
bool flg=0;
for(int k=0;k<66;k++){
if(flg){
res.push_back(R[k][j]);
}
flg|=R[k][j];
}
}
break;
}
}
while(!res.back()){
res.pop_back();
}
res.pop_back();
return res;
}
详细
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 #1 Runtime Error
Test #8:
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