QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#560070#9237. Messagesynonym83.305 238ms4164kbC++172.2kb2024-09-12 11:58:582024-09-12 11:58:58

Judging History

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

  • [2024-09-12 11:58:58]
  • 评测
  • 测评结果:83.305
  • 用时:238ms
  • 内存:4164kb
  • [2024-09-12 11:58:58]
  • 提交

answer

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

using namespace std;
#define int long long
#define all(x) begin(x), end(x)
#define sz(x) (int) (x).size()

const int L = 31;
/*
vector<vector<bool>> kk;

void send_packet(vector<bool> s) {
	kk.push_back(s);
}
*/
void send_message(vector<bool> M, vector<bool> C) {
	vector<int> pos;
	for (int i=0; i<L; i++) {if (!C[i]) pos.push_back(i);}
	vector<int> dist;
	for (int i=0; i<sz(pos); i++) {
		dist.push_back((L+pos[(i+1)%sz(pos)]-pos[i])%L);
	}
//good bits
	for (int i=0; i<5; i++) {
		vector<bool> msg(L,0);
		for (int j=0; j<sz(pos); j++) {
			msg[pos[j]] = (1<<i)&dist[j];
		}
		send_packet(msg);
	}
//length of message
	int len = sz(M);
	vector<bool> lmsg(L,0);
	for (int i=0; i<sz(pos); i++) {
		lmsg[pos[i]] = (1<<i)&len;
	}
	send_packet(lmsg);
//message
	vector<bool> cmsg(L,0);
	int cp = 0;
	for (int i=0; i<sz(M); i++) {
		if (cp==sz(pos)) {
			send_packet(cmsg);
			cmsg = vector<bool>(L,0);
			cp = 0;
		}
		cmsg[pos[cp++]] = M[i];
	}
	if (cp) {
		send_packet(cmsg);
	}
}

vector<bool> receive_message(vector<vector<bool>> R) {
	vector<int> nxt(L,0);
	int cp = 0;
	for (int i=0; i<5; i++) {
		vector<bool> msg = R[cp++];
		for (int j=0; j<L; j++) {
			nxt[j] += (msg[j] ? 1<<i : 0);
		}
	}
	vector<int> pos;
	for (int i=0; i<L; i++) {
		int cyc = 1;
		int cp = (i+nxt[i])%L;
		while (cp != i) {
			cp = (cp+nxt[cp])%L;
			cyc++;
			if (cyc==100) break;
		}
		if (cyc==16) {
			pos.push_back(i);
		}
	}
	int len=0;
	vector<bool> lmsg = R[cp++];
	for (int i=0; i<sz(pos); i++) {
		if (lmsg[pos[i]]) {
			len += (1<<i);
		}
	}
	vector<bool> fmsg;
	while (cp < sz(R)) {
		vector<bool> pk = R[cp++];
		for (int i : pos) {
			fmsg.push_back(pk[i]);
		}
	}
	fmsg.resize(len);
	return fmsg;
}
/*
signed main() {
	ios::sync_with_stdio(false); cin.tie(nullptr);
	vector<bool> msg = {{0,0,0,0,1,0,1,0,0,0,0,1,1,1,1,1,1,0}};
	vector<bool> ctrl;
	for (int i=0; i<15; i++) {
		ctrl.push_back(1);
	}
	ctrl.resize(31);
	send_message(msg,ctrl);
	
	for (auto i : kk) {
		for (auto j : i) cout<<j;
		cout<<endl;
	}
	vector<bool> ans = receive_message(kk);
	cout<<"\n\n";
	for (auto i : ans) cout<<i;
	return 0;
}
*/

详细

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 23ms
memory: 4052kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #2:

score: 10
Accepted
time: 26ms
memory: 4048kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #3:

score: 10
Accepted
time: 34ms
memory: 4020kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #4:

score: 10
Accepted
time: 23ms
memory: 4024kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #5:

score: 10
Accepted
time: 13ms
memory: 3856kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #6:

score: 10
Accepted
time: 14ms
memory: 3816kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #7:

score: 10
Accepted
time: 13ms
memory: 4048kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Subtask #2:

score: 73.305
Acceptable Answer

Test #8:

score: 73.305
Acceptable Answer
time: 174ms
memory: 4136kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #9:

score: 73.305
Acceptable Answer
time: 112ms
memory: 4164kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #10:

score: 73.305
Acceptable Answer
time: 173ms
memory: 4024kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #11:

score: 73.305
Acceptable Answer
time: 142ms
memory: 3768kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #12:

score: 77.166
Acceptable Answer
time: 238ms
memory: 3788kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8574

result:

points 0.8574

Test #13:

score: 73.305
Acceptable Answer
time: 118ms
memory: 3864kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #14:

score: 73.305
Acceptable Answer
time: 96ms
memory: 4068kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #15:

score: 73.305
Acceptable Answer
time: 156ms
memory: 4128kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #16:

score: 73.305
Acceptable Answer
time: 115ms
memory: 3828kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #17:

score: 90
Accepted
time: 19ms
memory: 3792kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #18:

score: 90
Accepted
time: 50ms
memory: 4128kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #19:

score: 90
Accepted
time: 43ms
memory: 3820kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #20:

score: 90
Accepted
time: 77ms
memory: 4028kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #21:

score: 90
Accepted
time: 103ms
memory: 3824kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #22:

score: 90
Accepted
time: 83ms
memory: 3780kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #23:

score: 90
Accepted
time: 127ms
memory: 3744kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #24:

score: 90
Accepted
time: 113ms
memory: 4052kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #25:

score: 90
Accepted
time: 138ms
memory: 3868kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #26:

score: 77.166
Acceptable Answer
time: 143ms
memory: 3828kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8574

result:

points 0.8574

Test #27:

score: 73.305
Acceptable Answer
time: 209ms
memory: 3764kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145