QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#554348#9237. MessagezhenghanyunCompile Error//C++141.7kb2024-09-09 10:33:402024-09-09 10:33:41

Judging History

This is the latest submission verdict.

  • [2024-09-09 10:33:41]
  • Judged
  • [2024-09-09 10:33:40]
  • Submitted

answer

#include <bits/stdc++.h>
#include "message.h"

using namespace std;

void send_message(vector <bool> M, vector <bool> C) {
	vector <vector <bool> > res(66, vector <bool> (31, 0));
	vector <pair <int, int> > vec;
	for (int i = 0; i < 31; ++i) {
		if (C[i]) {
			continue;
		}
		for (int j = i + 1, k = 0; ; j = (j + 1) % 31, ++k) {
			if (!C[j]) {
				res[k][i] = 1;
				for (int p = k + 1; p < 66; ++p) {
					vec.emplace_back(make_pair(p, i));
				}
				break;
			}
		}
	}
	int val = !M[M.size() - 1];
	while (M.size() < 1025) {
		M.emplace_back(val);
	}
	for (int i = 0; i < 1025; ++i) {
		int x = vec[i].first, y = vec[i].second;
		res[x][y] = M[i];
	}
	for (int i = 0; i < 66; ++i) {
		send_packet(res[i]);
	}
}

vector <bool> receive_message(vector <vector <bool> > R) {
	vector <int> t(31, 0);
	for (int i = 0; i < 31; ++i) {
		for (int j = 0; j < 66; ++j) {
			if (R[j][i] == 1) {
				t[i] = (i + j + 1) % 31;
				break;
			}
		}
	}
	vector <bool> C(31, 0);
	for (int i = 0; i < 31; ++i) {
		for (int j = 0; j < 31; ++j) {
			C[j] = 0;
		}
		int p = i;
		while (!C[p]) {
			C[p] = true;
			p = t[p];
		}
		int cnt = 0;
		for (int j = 0; j < 31; ++j) {
			cnt += C[j];
		}
		if (cnt == 16) {
			break;
		}
	}
	for (int i = 0; i < 31; ++i) {
		C[i] = !C[i];
	}
	vector <bool> vec, res;
	for (int i = 0; i < 31; ++i) {
		if (C[i]) {
			continue;
		}
		for (int j = i + 1, k = 0; ; j = (j + 1) % 31, ++k) {
			if (!C[j]) {
				for (int p = k + 1; p < 66; ++p) {
					vec.emplace_back(R[p][i]);
				}
				break;
			}
		}
	}
	int val = vec[1024], siz = 1025;
	while (vec[siz - 1] == val) {
		--siz;
	}
	for (int i = 0; i < siz; ++i) {
		res.emplace_back(vec[i]);
	}
	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) {
      |             ^~~