QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#555620 | #9237. Message | ljga_ | Compile Error | / | / | C++14 | 1.5kb | 2024-09-10 06:49:47 | 2024-09-10 06:49:48 |
Judging History
This is the latest submission verdict.
- [2024-09-10 06:49:48]
- Judged
- Verdict: Compile Error
- Time: 0ms
- Memory: 0kb
- [2024-09-10 06:49:47]
- Submitted
answer
#include <bits/stdc++.h>
using namespace std;
void send_packet(vector<bool> mes){
for(int i=0;i<31;i++)
cout<<mes[i]<<' ';
cout<<endl;
}
vector<bitset<14> > z={6631,3571,5866,7956,7658};
void send_message(vector<bool> M,vector<bool> C){
vector<int> con,unc;
for(int i=0;i<31;i++){
if(C[i])
con.push_back(i);
else
unc.push_back(i);
}
vector<pair<int,int> > b;
for(int i=0;i<30;i+=6){
int x=0;
for(int j=i;j<i+6;j++)
x=(x<<1)|C[j];
cout<<b.size()<<' '<<x<<endl;
b.push_back({x,b.size()});
}
sort(b.begin(),b.end(),greater<pair<int,int> >());
bitset<4> cl(M.size()%16);
bitset<6> cc((M.size()+15)/16);
cout<<cl<<' '<<cc<<endl;
int c=0;
for(int i=0;i<1024;c++){
vector<bool> mes;
while(!b.empty()&&b.back().first==c){
mes.resize(31);
int id=b.back().second;
int p=0;
for(int j:unc){
if(p<14)
mes[j]=z[id][p++];
else{
if(p==14&&id<4)
mes[j]=cl[id];
else if(p==14&&id==4)
mes[j]=cc[0];
else
mes[j]=cc[id+1];
p++;
}
// cout<<p<<' '<<id<<' '<<mes[j]<<endl;
}
send_packet(mes);
mes.clear();
b.pop_back();
}
mes.resize(31);
for(int j:unc){
mes[j]=(i<M.size()?M[i]:0);
i++;
}
send_packet(mes);
}
}
void dfs(int k,int c){
}
void receive_message(vector<vector<bool> > R){
}
int main(){
send_message({0, 1, 1, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1});
return 0;
}
詳細信息
stub.cpp: In function ‘int {anonymous}::sz(const C&)’: stub.cpp:27:52: error: ‘size’ is not a member of ‘std’; did you mean ‘size_t’? 27 | template<class C> int sz(const C& c) { return std::size(c); } | ^~~~ | size_t stub.cpp: In function ‘void {anonymous}::write_int_array(const int*, int)’: stub.cpp:70:13: warning: init-statement in selection statements only available with ‘-std=c++17’ or ‘-std=gnu++17’ 70 | if (int ret = fwrite(arr, sizeof(int), len, fout); len != ret) { | ^~~ stub.cpp: In function ‘void {anonymous}::read_int_array(int*, int)’: stub.cpp:105:13: warning: init-statement in selection statements only available with ‘-std=c++17’ or ‘-std=gnu++17’ 105 | if (int ret = fread(arr, sizeof(int), len, fin); len != ret) { | ^~~