QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#563516 | #9237. Message | donghanwen1225 | Compile Error | / | / | C++14 | 1.2kb | 2024-09-14 13:25:22 | 2024-09-14 13:25:22 |
Judging History
answer
#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
vector<bool> send_packet(vector<bool> A);
void send_message(vector<bool> M,vector<bool> C)
{
int S=M.size();
vector<int> x;x.resize(31);
int las=-1,fr=-1;
for(int i=0;i<31;i++)
if(C[i]==0)
{
if(fr==-1) fr=i;
if(las!=-1) x[las]=i-las;
las=i;
}
x[las]=(fr+31-las)%31;
int cur=0;
for(int i=1;i<=66;i++)
{
vector<bool> me;me.resize(31);
for(int j=0;j<31;j++)
{
if(C[j]==1) me[j]=0;
else
{
if(i<x[j]) me[j]=0;
else if(i==x[j]) me[j]=1;
else me[j]=(cur<S?M[cur]:(cur==S?0:1)),cur++;
}
}
send_packet(me);
}
}
vector<bool> receive_message(vector<vector<bool>> R)
{
vector<bool> gm,rm,ok;vector<int> x;
x.resize(31);ok.resize(31);gm.resize(1025);
for(int i=0;i<66;i++)
for(int j=0;j<31;j++)
if(!x[j]&&R[i][j]) x[j]=i+1;
for(int i=0;i<31;i++)
{
int c=i;for(int j=1;j<=16;j++) c=(c+x[c])%31;
if(c==i)
{
for(int j=1;j<=16;j++) ok[c]=1,c=(c+x[c])%31;
break;
}
}
int cur=0;
for(int i=0;i<66;i++)
for(int j=0;j<31;j++)
if(ok[j])
if(i+1>x[j]) gm[cur++]=R[i][j];
while(gm[cur-1]==1) cur--;
for(int i=0;i<cur;i++) rm.push_back(gm[i]);
return rm;
}
詳細信息
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) { | ^~~