QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#559842#9237. Messageyyyyxh#81.45 189ms4132kbC++231.7kb2024-09-12 09:45:072024-09-12 09:45:08

Judging History

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

  • [2024-09-12 09:45:08]
  • 评测
  • 测评结果:81.45
  • 用时:189ms
  • 内存:4132kb
  • [2024-09-12 09:45:07]
  • 提交

answer

#include "message.h"
#include <cstdio>
using namespace std;
typedef vector<bool> vb;
namespace GO{
	int c[31][16];
	int encode(int cur){
		int res=0;
		for(int x=29;~x;--x)
			if(cur>>x&1) res+=c[x][16-__builtin_popcount(cur>>x)];
		return res;
	}
	int decode(int cur){
		int res=0;
		for(int x=29;~x;--x){
			int val=c[x][15-__builtin_popcount(res>>x)];
			if(cur>=val) cur-=val,res|=(1<<x);
		}
		return res;
	}
	void init(){
		for(int i=0;i<=30;++i){
			c[i][0]=1;
			for(int j=1;j<=15&&j<=i;++j) c[i][j]=c[i-1][j]+c[i-1][j-1];
		}
	}
}
void send_message(vb M,vb C){
	GO::init();
	int fir=0;
	for(int i=0;i<31;++i) if(!C[i]){fir=i;break;}
	for(int i=0;i<4;++i) send_packet(vb(31,fir>>i&1));
	int p=0;
	vector<vb> R(66,vb(31));
	int cur=0;
	for(int i=1;i<31;++i) if(!C[i]&&i!=fir) cur|=(1<<(i-1));
	cur=GO::encode(cur);
	auto add=[&](bool x)->void{
		R[p++][fir]=x;
		if(p==66){
			p=0;++fir;
			while(fir<31&&C[fir]) ++fir;
		}
	};
	for(int i=0;i<28;++i) add(cur>>i&1);
	for(int i=M.size();i<1024;++i) add(0);
	add(1);for(bool x:M) add(x);
	for(int i=0;i<66;++i) send_packet(R[i]);
}
vb receive_message(vector<vb> R){
	GO::init();
	vb C(31);
	int fir=0;
	for(int i=0;i<4;++i){
		int cnt=0;
		for(int x:R[i]) if(x) ++cnt;
		if(cnt>15) fir|=(1<<i);
	}
	C[fir]=1;
	int p=4;
	auto qry=[&]()->bool{
		bool val=R[p++][fir];
		if(p==70){
			p=4;++fir;
			while(!C[fir]) ++fir;
		}
		return val;
	};
	int cur=0;
	for(int i=0;i<28;++i) if(qry()) cur|=(1<<i);
	cur=GO::decode(cur);
	for(int i=0;i<30;++i) if(cur>>i&1) C[i+1]=1;
	int len=1024;
	while(!qry()) --len;
	vb res(len);
	for(int i=0;i<len;++i) res[i]=qry();
	return res;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 8.145
Acceptable Answer

Test #1:

score: 8.145
Acceptable Answer
time: 164ms
memory: 3816kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #2:

score: 8.145
Acceptable Answer
time: 135ms
memory: 4016kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #3:

score: 8.145
Acceptable Answer
time: 183ms
memory: 3788kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #4:

score: 8.145
Acceptable Answer
time: 153ms
memory: 4124kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #5:

score: 8.145
Acceptable Answer
time: 108ms
memory: 4052kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #6:

score: 8.145
Acceptable Answer
time: 122ms
memory: 3864kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #7:

score: 8.145
Acceptable Answer
time: 135ms
memory: 4048kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Subtask #2:

score: 73.305
Acceptable Answer

Test #8:

score: 73.305
Acceptable Answer
time: 154ms
memory: 3820kb

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: 168ms
memory: 3820kb

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: 128ms
memory: 3816kb

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: 189ms
memory: 4048kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #12:

score: 73.305
Acceptable Answer
time: 157ms
memory: 4120kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #13:

score: 73.305
Acceptable Answer
time: 141ms
memory: 3808kb

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: 90ms
memory: 3812kb

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: 118ms
memory: 3816kb

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: 103ms
memory: 3812kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #17:

score: 73.305
Acceptable Answer
time: 152ms
memory: 4124kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #18:

score: 73.305
Acceptable Answer
time: 157ms
memory: 4056kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #19:

score: 73.305
Acceptable Answer
time: 183ms
memory: 4036kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #20:

score: 73.305
Acceptable Answer
time: 119ms
memory: 4132kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #21:

score: 73.305
Acceptable Answer
time: 160ms
memory: 3852kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #22:

score: 73.305
Acceptable Answer
time: 136ms
memory: 3776kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #23:

score: 73.305
Acceptable Answer
time: 170ms
memory: 4012kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #24:

score: 73.305
Acceptable Answer
time: 138ms
memory: 3808kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #25:

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

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #26:

score: 73.305
Acceptable Answer
time: 166ms
memory: 4048kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145

Test #27:

score: 73.305
Acceptable Answer
time: 169ms
memory: 4020kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.8145

result:

points 0.8145