QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#601314#9237. MessagePittow0 201ms4060kbC++171.3kb2024-09-29 22:17:242024-09-29 22:17:25

Judging History

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

  • [2024-09-29 22:17:25]
  • 评测
  • 测评结果:0
  • 用时:201ms
  • 内存:4060kb
  • [2024-09-29 22:17:24]
  • 提交

answer

#include "message.h"
typedef std::vector<bool> arr;
typedef std::vector<arr> arr2;

bool d[31],e[31],f[31];//d:decode e,f:encode
int r[31];//point
void encode(int p){
	if(r[p]!=-1)return;
	int l=(p+1)%31;
	while(l!=p&&!d[l])encode(l),l=r[l];
	if(l==p)return;
	(++l)%=31;
	r[p]=l;
}
int rt,flag;
int decode(int p){//return end
	if(!d[p]){
		if(p!=rt)++flag;
		return p;
	}
	d[p]=0;
	int l=(p+1)%31;
	if(!f[p])l=decode(l);
	if(l==p){
		if(l==rt)--flag;
		else ++flag;
		return p;
	}
	(++l)%=31;
	if(!e[p])return decode(l);
	return l;
}
bool check(int p){
	int i,j;
	for(i=0;i<31;++i)d[i]=1;
	flag=1;
	rt=p;
	decode(p);
	for(i=j=0;i<31;++i)if(!d[i])++j;
	if(j!=16)return 1;
	return flag;
}
void send_message(arr M,arr C){
	int i,j;
	arr A(31);
	for(i=0;i<31;++i)A[i]=C[(i+1)%31];
	send_packet(A);
	for(i=0;i<31;++i)r[i]=-1,d[i]=C[i];
	for(i=0;i<31;++i)if(!d[i]&&r[i]==-1)encode(i);
	for(i=0;i<31;++i)if(r[i]!=-1)A[i]=C[r[i]];
	send_packet(A);
	for(i=0;i<M.size();){
		for(j=0;j<31;++j)if(!C[j])A[j]=M[i++];
		send_packet(A);
	}
}
arr receive_message(arr2 R){
	int s=R.size(),i,j,k;
	arr A((s-2)*16);
	for(i=0;i<31;++i)e[i]=R[1][i],f[i]=R[0][i];
	for(i=0;check(i);++i);
	for(i=2,k=0;i<s;++i)
	for(j=0;j<31;++j)if(!d[j])A[k++]=R[i][j];
	return A;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 10
Accepted
time: 15ms
memory: 3844kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #2:

score: 0
Wrong Answer
time: 4ms
memory: 4040kb

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

Subtask #2:

score: 0
Wrong Answer

Test #8:

score: 90
Accepted
time: 201ms
memory: 4032kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #9:

score: 0
Wrong Answer
time: 89ms
memory: 4060kb

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