QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#575131#9237. MessagemaxrgbyCompile Error//C++202.9kb2024-09-19 10:47:572024-09-19 10:47:57

Judging History

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

  • [2024-09-19 10:47:57]
  • 评测
  • [2024-09-19 10:47:57]
  • 提交

answer

// Source: https://kill.yourself/time/right-now

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

// vector<vector<bool>> hehe;

void send_message(vector<bool> m, vector<bool> c){
	vector<int> zero (31,0);
	vector<int> one (31,1);
	for(auto i : m){
		if(i){
			send_packet(one);
		}else{
			send_packet(zero);
		}
	}
}

void receive_message(vector<vector<bool>> r){
	vector<bool> ans;
	for(auto i : r){
		int zero = 0;
		int one = 0;
		for(auto j : i){
			if(j){
				one++;
			}else{
				zero++;
			}
		}
		if(zero > one){
			ans.push_back(0);
		}else{
			ans.push_back(1);
		}
	}
	return ans;
}

// vector<bool> send_packet(vector<bool> e){
// 	for(int i = 2;i < 17;i += 1){
// 		e[i] = !e[i];
// 	}
// 	hehe.push_back(e);
// 	return e;
// }

// void send_message(vector<bool> m, vector<bool> c){
// 	int nxt[31];
// 	int diff = 0;
// 	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;
// 				diff += 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++){
// 		vector<bool> tmp = send_packet(ret[i]);
// 		for(int j = 0;j < 31;j++){
// 			if(tmp[j] != ret[i][j] && !c[i]){
// 				//assert(false);
// 			}
// 		}
// 	}
// }

// 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];
// 	}
// 	char c = ret.back();
// 	while(!ret.empty() and ret.back() == c){
// 		ret.pop_back();
// 	}
// 	return ret;
// }

// int main() {
// 	int n;
// 	cin >> n;
// 	vector<bool> a;
// 	vector<bool> c(31,0);
// 	for(int i = 0;i < n;i++){
// 		char c;
// 		cin >> c;
// 		a.push_back(c-'0');
// 	}
// 	for(int i = 2;i < 17;i += 1){
// 		c[i] = 1;
// 	}
// 	send_message(a,c);
// 	vector<bool> ans = receive_message(hehe);
// 	assert(ans == a);
// 	for(auto i : ans){
// 		cout << i << " ";
// 	}
// }

Details

answer.code: In function ‘void send_message(std::vector<bool>, std::vector<bool>)’:
answer.code:14:37: error: could not convert ‘one’ from ‘vector<int>’ to ‘vector<bool>’
   14 |                         send_packet(one);
      |                                     ^~~
      |                                     |
      |                                     vector<int>
answer.code:16:37: error: could not convert ‘zero’ from ‘vector<int>’ to ‘vector<bool>’
   16 |                         send_packet(zero);
      |                                     ^~~~
      |                                     |
      |                                     vector<int>
answer.code: At global scope:
answer.code:21:6: error: ambiguating new declaration of ‘void receive_message(std::vector<std::vector<bool> >)’
   21 | void receive_message(vector<vector<bool>> r){
      |      ^~~~~~~~~~~~~~~
In file included from answer.code:4:
message.h:7:19: note: old declaration ‘std::vector<bool> receive_message(std::vector<std::vector<bool> >)’
    7 | std::vector<bool> receive_message(std::vector<std::vector<bool>> R);
      |                   ^~~~~~~~~~~~~~~
answer.code: In function ‘void receive_message(std::vector<std::vector<bool> >)’:
answer.code:39:16: error: return-statement with a value, in function returning ‘void’ [-fpermissive]
   39 |         return ans;
      |                ^~~