QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#577107#9237. Messagegoj_bot1100 ✓237ms4148kbC++201.9kb2024-09-20 08:01:052024-09-20 08:01:05

Judging History

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

  • [2024-09-20 08:01:05]
  • 评测
  • 测评结果:100
  • 用时:237ms
  • 内存:4148kb
  • [2024-09-20 08:01:05]
  • 提交

answer

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

// const int PACKET_SIZE = 31;
// const int CALLS_CNT_LIMIT = 100;
// 
// int calls_cnt;
// std::vector<std::vector<bool>> R;
// std::vector<bool> C(PACKET_SIZE);
// std::vector<bool> taint(const std::vector<bool>& A) {
  // std::vector<bool> B = A;
  // bool bit = 0;
  // for (int i = 0; i < PACKET_SIZE; i++)
    // if (C[i] == 1) {
      // B[i] = bit;
      // bit = !bit;
    // }
  // return B;
// }
// std::vector<bool> send_packet(std::vector<bool> A) {
  // calls_cnt++;
  // if (calls_cnt > CALLS_CNT_LIMIT)
    // printf("Too many calls"),exit(0);
  // if ((int)A.size() != PACKET_SIZE)
    // printf("Invalid argument"),exit(0);
// 
  // std::vector<bool> B = taint(A);
  // R.push_back(B);
  // return B;
// }

void send_message(std::vector<bool> M, std::vector<bool> C) {
	M.pb(0);while(M.size()<16*66)M.pb(1);
	reverse(M.begin(),M.end());
	vector<vector<bool>> a;a.resize(66);
	for(int i=0;i<66;i++)a[i].resize(31);
	for(int i=0;i<31;i++)if(!C[i]){
		int d=0;
		for(int j=i+1;;j++)if(!C[j%31]){
			d=j-i;
			break;
		}
		a[d-1][i]=1;
		for(int j=d;j<66;j++)a[j][i]=M.back(),M.pop_back();
	}
	for(int i=0;i<66;i++)send_packet(a[i]);
}
std::vector<bool> receive_message(std::vector<std::vector<bool>> R) {
	vector<int> e(31);
	for(int i=0;i<=30;i++){
		int p=0;
		for(int j=0;j<66;j++)if(R[j][i]){p=j+1;break;}
		e[i]=(i+p)%31;
	}
	vector<int> st;
	for(int i=0;i<=30;i++){
		vector<int> vis(31,0);st.clear();
		int u=i;
		while(!vis[u]){
			st.pb(u);vis[u]=1;
			u=e[u];
		}
		if(u==i&&st.size()==16)break;
	}
	vector<bool> res;
	sort(st.begin(),st.end());
	for(int i:st){
		int p=0;
		for(int j=0;j<66;j++)if(R[j][i]){p=j+1;break;}
		for(int j=p;j<66;j++)res.pb(R[j][i]);
	}
	for(int i=res.size()-1;~i;i--){
		if(!res[i]){
			while(res.size()>i)res.pop_back();
			break;
		}
	}
	return res;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 163ms
memory: 4072kb

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: 190ms
memory: 4044kb

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: 132ms
memory: 4044kb

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: 131ms
memory: 4140kb

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: 117ms
memory: 4140kb

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: 75ms
memory: 3836kb

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: 114ms
memory: 3780kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Subtask #2:

score: 90
Accepted

Test #8:

score: 90
Accepted
time: 157ms
memory: 4072kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #9:

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

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #10:

score: 90
Accepted
time: 168ms
memory: 4144kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #11:

score: 90
Accepted
time: 187ms
memory: 3880kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #12:

score: 90
Accepted
time: 177ms
memory: 3840kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #13:

score: 90
Accepted
time: 118ms
memory: 4076kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #14:

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

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #15:

score: 90
Accepted
time: 96ms
memory: 4140kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #16:

score: 90
Accepted
time: 132ms
memory: 3836kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #17:

score: 90
Accepted
time: 184ms
memory: 4092kb

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: 187ms
memory: 4140kb

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

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

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: 172ms
memory: 3792kb

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: 159ms
memory: 3840kb

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: 157ms
memory: 4076kb

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: 166ms
memory: 4148kb

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: 186ms
memory: 3872kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #26:

score: 90
Accepted
time: 168ms
memory: 4072kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #27:

score: 90
Accepted
time: 168ms
memory: 3816kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Extra Test:

score: 0
Extra Test Passed