QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#567071#9237. Messageaaaaa100 ✓222ms4148kbC++202.3kb2024-09-16 06:03:282024-09-16 06:03:29

Judging History

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

  • [2024-09-16 06:03:29]
  • 评测
  • 测评结果:100
  • 用时:222ms
  • 内存:4148kb
  • [2024-09-16 06:03:28]
  • 提交

answer

#include <bits/stdc++.h>
#include "message.h"

using namespace std;

typedef long long ll;

vector<bool> info[100];
ll nxt[50];
bool vis[50];

void send_message(vector<bool> M, vector<bool> C) {
    M.push_back(true);
    while (M.size() <= 1024) {
        M.push_back(false);
    }
    for (ll i=1; i<67; i++) {
        info[i].clear();
        info[i].resize(31);
    }
    ll prev, k=0;
    for (ll i=0; i<C.size(); i++) {
        if (!C[i]) {
            prev = i-31;
        }
    }
    for (ll i=0; i<C.size(); i++) {
        if (!C[i]) {
            ll distance = i-prev;
            for (ll j=1; j<distance; j++) {
                info[j][i] = 1;
            }
            for (ll j=distance+1; j<67; j++) {
                info[j][i] = M[k++];
            }
            prev = i;
        }
    }
    for (ll i=1; i<67; i++) {
        send_packet(info[i]);
    }
}

vector<bool> receive_message(vector<vector<bool>> R) {
    for (ll i=1; i<67; i++) {
        info[i] = R[i-1];
    }
    for (ll i=0; i<31; i++) {
        nxt[i] = 0;
        vis[i] = 0;
    }
    for (ll i=0; i<31; i++) {
        ll current = 1;
        while (current < 67 && info[current][i]) {
            ++current;
        }
        nxt[i] = (i+31-current%31)%31;
    }
    for (ll i=0; i<31; i++) {
        ll cycle = i;
        ll flag = 0;
        for (ll j=1; j<17; j++) {
            cycle = nxt[cycle];
            if (cycle == i) {
                if (j == 16) {
                    flag = 1;
                }
                else {
                    flag = -1;
                    break;
                }
            }
        }
        if (flag == 1) {
            cycle = i;
            for (ll j=1; j<17; j++) {
                cycle = nxt[cycle];
                vis[cycle] = 1;
            }
            break;
        }
    }
    
    vector<bool> answer;
    for (ll i=0; i<31; i++) {
        if (vis[i]) {
            ll current = 1;
            while (current < 67 && info[current][i]) {
                ++current;
            }
            for (ll j=current+1; j<67; j++) {
                answer.emplace_back(info[j][i]);
            }
        }
    }
    
    while (!answer.back()) {
        answer.pop_back();
    }
    answer.pop_back();
    return answer;
}

详细

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 153ms
memory: 3820kb

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: 102ms
memory: 3832kb

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

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

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: 143ms
memory: 3884kb

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: 56ms
memory: 4060kb

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: 104ms
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: 90
Accepted

Test #8:

score: 90
Accepted
time: 199ms
memory: 3832kb

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

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: 155ms
memory: 3868kb

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: 222ms
memory: 3832kb

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: 110ms
memory: 3884kb

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: 130ms
memory: 4064kb

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: 67ms
memory: 3776kb

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: 139ms
memory: 4064kb

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

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

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: 162ms
memory: 3848kb

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: 183ms
memory: 3784kb

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

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: 93ms
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: 96ms
memory: 3784kb

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

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

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

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

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

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