QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#592397#9237. MessageDecember45649.609 223ms4124kbC++171.9kb2024-09-26 22:14:452024-09-26 22:14:51

Judging History

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

  • [2024-09-26 22:14:51]
  • 评测
  • 测评结果:49.609
  • 用时:223ms
  • 内存:4124kb
  • [2024-09-26 22:14:45]
  • 提交

answer

#include "message.h"

void send_message(std::vector<bool> M, std::vector<bool> C) {
    std::vector<int> A;
    std::vector<bool> P(31);

    for (int i = 0; i < 30;) {
        if (!A.size()) {
            if (!C[i]) {
                A.push_back(i);
            }
            send_packet(std::vector<bool>(31, C[i ++]));
            continue;
        }
        for (int j = 0; i < 30 && j < A.size(); i ++, j ++) {
            if (!(P[A[j]] = C[i])) {
                A.push_back(i);
            }
        }
        send_packet(P);
    }

    if (!C[30]) {
        A.push_back(30);
    }

    for (int i = 0; i < 4; i ++) {
        P[A[i]] = M.size() >> i & 1;
    }
    send_packet(P);

    for (int i = 0; i < M.size(); i += 16) {
        for (int j = i; j < i + 16 && j < M.size(); j ++) {
            P[A[j - i]] = M[j];
        }
        send_packet(P);
    }
}

std::vector<bool> receive_message(std::vector<std::vector<bool>> R) {
    std::vector<bool> M, C;
    std::vector<int> A;
    int cur = 0;

    for (int i = 0; i < 30; cur ++) {
        if (!A.size()) {
            int cnt = 0;
            for (int x : R[cur]) {
                cnt += x;
            }
            if (cnt << 1 < 31) {
                A.push_back(i);
            }
            i ++;
            continue;
        }

        for (int j = 0; i < 30 && j < A.size(); i ++, j ++) {
            if (!R[cur][A[j]]) {
                A.push_back(i);
            }
        }
    }

    if (A.size() < 16) {
        A.push_back(30);
    }

    int res = 0;
    for (int i = 0; i < 4; i ++) {
        res |= R[cur][A[i]] << i;
    }
    if (!res) {
        res = 16;
    }

    for (int i = cur + 1; i + 1 < R.size(); i ++) {
        for (int j = 0; j < 16; j ++) {
            M.push_back(R[i][A[j]]);
        }
    }
    for (int i = 0; i < res; i ++) {
        M.push_back(R.back()[A[i]]);
    }

    return M;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 21ms
memory: 4016kb

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: 13ms
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: 45ms
memory: 4052kb

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

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

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: 5ms
memory: 3860kb

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

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Subtask #2:

score: 39.609
Acceptable Answer

Test #8:

score: 51.192
Acceptable Answer
time: 162ms
memory: 4064kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5688

result:

points 0.5688

Test #9:

score: 66.159
Acceptable Answer
time: 72ms
memory: 3848kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.7351

result:

points 0.7351

Test #10:

score: 46.197
Acceptable Answer
time: 147ms
memory: 4124kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #11:

score: 53.883
Acceptable Answer
time: 183ms
memory: 4064kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5987

result:

points 0.5987

Test #12:

score: 56.718
Acceptable Answer
time: 223ms
memory: 3812kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.6302

result:

points 0.6302

Test #13:

score: 48.636
Acceptable Answer
time: 126ms
memory: 3828kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #14:

score: 39.609
Acceptable Answer
time: 74ms
memory: 4068kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4401

result:

points 0.4401

Test #15:

score: 48.636
Acceptable Answer
time: 129ms
memory: 4120kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #16:

score: 48.636
Acceptable Answer
time: 162ms
memory: 3772kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #17:

score: 90
Accepted
time: 21ms
memory: 4044kb

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

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: 30ms
memory: 4068kb

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

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

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: 85ms
memory: 3828kb

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

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: 124ms
memory: 4120kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

1

result:

points 1.0

Test #25:

score: 85.5
Acceptable Answer
time: 171ms
memory: 3820kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.9500

result:

points 0.95

Test #26:

score: 56.718
Acceptable Answer
time: 185ms
memory: 4068kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.6302

result:

points 0.6302

Test #27:

score: 56.718
Acceptable Answer
time: 133ms
memory: 3812kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.6302

result:

points 0.6302