QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#574956#9237. Messagemaxrgby0 0ms0kbC++201.6kb2024-09-19 09:15:522024-09-19 09:15:58

Judging History

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

  • [2024-09-19 09:15:58]
  • 评测
  • 测评结果:0
  • 用时:0ms
  • 内存:0kb
  • [2024-09-19 09:15:52]
  • 提交

answer

// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
#include "message.h"
using namespace std;

void send_message(vector<bool> m, vector<bool> c){
	assert(c.size() == 31);
	int nxt[31];
	for(int i = 0;i < 31;i++){
		nxt[i] = 66;
		if(c[i]){
			continue;
		}
		for(int j = 1;j < 31;j++){
			if(!c[(i+j)%31]){
				nxt[i] = j;
				break;
			}
		}
	}
	bool tmp = !m.back();
	while(m.size() < 1025){
		m.push_back(tmp);
	}
	vector<bool> ret[66];
	for(int i = 0;i < 66;i++){
		ret[i].resize(31);
	}
	int pos = 0;
	for(int i = 0;i < 31;i++){
		for(int j = 0;j < nxt[i]-1;j++){
			ret[j][i] = 0;
		}
		ret[nxt[i]-1][i] = 1;
		for(int j = nxt[i];j < 66;j++){
			ret[j][i] = m[pos++];
		}
	}
	for(int i = 0;i < 66;i++){
		send_packet(ret[i]);
	}
}

vector<bool> receive_message(vector<vector<bool>> r){
	int nxt[31];
	for(int i = 0;i < 31;i++){
		nxt[i] = 66;
		for(int j = 0;j < 66;j++){
			if(r[j][i]){
				nxt[i] = (i+j+1)%31;
				break;
			}
		}
	}
	int good = -1;
	for(int i = 0;i < 31;i++){
		int u = i;
		for(int j = 0;j < 16;j++){
			u = nxt[u];
		}
		if(u == i){
			good = i;
			break;
		}
	}
	vector<bool> ret;
	for(int i = 0;i < 16;i++){
		int j = 0;
		while(j < 66 and !r[j][good]){
			j++;
		}
		j++;
		while(j < 66){
			ret.push_back(r[j][good]);
			j++;
		}
		good = nxt[good];
	}
	while(ret[ret.size()-1] == ret[ret.size()-2]){
		ret.pop_back();
	}
	ret.pop_back();
	return ret;
}

// int main() {
// 	int a, b, c; cin >> a >> b >> c;
// 	cout << "The sum of these three numbers is " << a + b + c << "\n";
// }

详细

Subtask #1:

score: 0
Instance #1 Runtime Error

Test #1:

score: 0
Instance #1 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'
Quitting with result code 1

result:


Subtask #2:

score: 0
Instance #1 Runtime Error

Test #8:

score: 0
Instance #1 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'
Quitting with result code 1

result: