QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#554349#9237. Messagezhenghanyun0 151ms3780kbC++171.7kb2024-09-09 10:34:292024-09-09 10:34:30

Judging History

你现在查看的是最新测评结果

  • [2024-09-09 10:34:30]
  • 评测
  • 测评结果:0
  • 用时:151ms
  • 内存:3780kb
  • [2024-09-09 10:34:29]
  • 提交

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;
}

详细

Subtask #1:

score: 0
Instance #0 Runtime Error

Test #1:

score: 0
Instance #0 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'
Sending secret with code DIE to mgr2sol[1]
Quitting with result code 1

result:


Subtask #2:

score: 0
Wrong Answer

Test #8:

score: 0
Wrong Answer
time: 151ms
memory: 3780kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0
ing with message 'decoded message is incorrect'
Sending secret with code DIE to mgr2sol[1]
Quitting with result code 1

result:

wrong output format Extra information in the output file