QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#562871#9237. Messagesz051Compile Error//C++141.6kb2024-09-13 22:03:512024-09-13 22:03:52

Judging History

This is the latest submission verdict.

  • [2024-09-13 22:03:52]
  • Judged
  • [2024-09-13 22:03:51]
  • Submitted

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++){
		for(int j=0;j<66;j++){
			if(R[j][i]){
				nxt[j]=(i-j+30)%31;
			}
		} 
	} 
	vector<bool> res;
	for(int i=0;i<31;i++){
		int cur=nxt[i],siz=1;
		while(cur!=i){
			siz++;
			cur=nxt[cur];
		}
		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;
}

Details

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) {
      |             ^~~