QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#560011#9237. Messageyhddd100 ✓217ms4096kbC++203.0kb2024-09-12 11:24:132024-09-12 11:24:14

Judging History

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

  • [2024-09-12 11:24:14]
  • 评测
  • 测评结果:100
  • 用时:217ms
  • 内存:4096kb
  • [2024-09-12 11:24:13]
  • 提交

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) {
	// for(int i=0;i<66;i++){
		// for(int j=0;j<31;j++)cout<<R[i][j]<<" ";cout<<"\n";
	// }
	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;
}

// void quit(const char* message) {
  // printf("%s\n", message);
  // exit(0);
// }
// 
// void run_scenario() {
  // R.clear();
  // calls_cnt = 0;
// 
  // int S;
  // assert(1 == scanf("%d", &S));
  // std::vector<bool> M(S);
  // for (int i = 0; i < S; i++) {
    // int bit;
    // assert(1 == scanf("%d", &bit));
    // assert((bit == 0) || (bit == 1));
    // M[i] = bit;
  // }
// 
  // for (int i = 0; i < PACKET_SIZE; i++) {
    // int bit;
    // assert(1 == scanf("%d", &bit));
    // assert((bit == 0) || (bit == 1));
    // C[i] = bit;
  // }
// 
  // send_message(M, C);
  // std::vector<bool> D = receive_message(R);
// 
  // int K = (int)R.size();
  // int L = (int)D.size();
  // printf("%d %d\n", K, L);
  // for (int i = 0; i < L; i++)
    // printf("%s%d", (i == 0 ? "" : " "), (D[i] ? 1 : 0));
  // printf("\n");
// }
// 
// int main() {
  // int T;
  // assert(1 == scanf("%d", &T));
  // for (int i = 1; i <= T; i++)
    // run_scenario();
// }
// 

詳細信息

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 134ms
memory: 3756kb

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

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: 167ms
memory: 3804kb

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

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: 107ms
memory: 3788kb

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: 63ms
memory: 3748kb

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: 84ms
memory: 3984kb

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: 190ms
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: 90
Accepted
time: 150ms
memory: 3812kb

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: 182ms
memory: 4088kb

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: 196ms
memory: 3808kb

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: 137ms
memory: 3980kb

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

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: 68ms
memory: 3748kb

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: 151ms
memory: 3748kb

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

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: 142ms
memory: 3800kb

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

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: 169ms
memory: 4092kb

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: 171ms
memory: 4016kb

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

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: 164ms
memory: 4020kb

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: 151ms
memory: 3984kb

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: 149ms
memory: 4096kb

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

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: 156ms
memory: 4020kb

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

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