QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#885220#9237. MessagePhang100 ✓282ms3840kbC++202.3kb2025-02-06 14:45:422025-02-06 14:45:50

Judging History

This is the latest submission verdict.

  • [2025-02-06 14:45:50]
  • Judged
  • Verdict: 100
  • Time: 282ms
  • Memory: 3840kb
  • [2025-02-06 14:45:42]
  • Submitted

answer

#include<bits/stdc++.h>
#include "message.h"
#define rep1(i, a, b) for(int i = a; i <= b; ++i)
#define rep2(i, a, b) for(int i = a; i >= b; --i)
#define ll long long
#define ft first
#define sd second
#define pii pair <int, int>
#define ld long double
#define pb push_back
#define ptc putchar
#define debug puts("-----------------------------")
using namespace std;

vector <bool> send_packet(vector <bool> A) ;

void send_message(vector <bool> M, vector <bool> C) {
    M.pb(0); while(M.size() < 1025) M.pb(1);
    vector <int> x(31, 0);
    int lst = -1;
    rep1(i, 0, 30) {
        if(C[i]) continue;
        else {
            if(~lst) x[lst] = i - lst;
            lst = i;
        }
    }
    rep1(i, 0, 30) if(C[i]) continue;
    else {x[lst] = 31 - lst + i; break;}
    vector <bool> A(31, 0);
    int tot = 0, cnt = 0;
    rep1(i, 1, 66) {
        rep1(j, 0, 30) {
            if(C[j]) continue;
            if(i < x[j]) A[j] = 0, ++cnt;
            else if(i == x[j]) A[j] = 1, ++cnt;
            else A[j] = M[tot++];
        } send_packet(A);
        // if(i <= 5) cout << cnt << ' ' << tot << '\n';
    } //cout << cnt << ' ' << tot << '\n';
}

vector <bool> receive_message(vector <vector <bool>> R) {
    vector <int> x(31, 0), vis(31, 0);
    rep1(i, 0, 65) {
        rep1(j, 0, 30) {
            if(!R[i][j]) continue;
            if(!x[j]) x[j] = i + 1;
        }
    }
    vector <bool> ok(31, 0);
    // rep1(i, 0, 30) cout << x[i] << " \n"[i == 30];
    // return ok;
    rep1(i, 0, 30) {
        if(vis[i]) continue;
        int nw = i, num = 0;
        while(!vis[nw]) {
            vis[nw] = 1; ++num;
            nw = (nw + x[nw]) % 31;
        } if(num < 16) continue;
        // cout << num << ' ' << nw << '\n';
        while(vis[nw] < 2) {
            vis[nw] = 2;
            nw = (nw + x[nw]) % 31;
        }
        // return ok;
    }
    // rep1(i, 0, 30) cout << vis[i] << " \n"[i == 30];
    vector <bool> M;
    rep1(i, 0, 65) {
        rep1(j, 0, 30) {
            if(vis[j] < 2 || i < x[j]) continue;
            M.pb(R[i][j]);
        }
    }
    // cout << M.size() << '\n';
    // cout << "terrible\n"; return ok;
    while(true) {
        int x = M.back(); M.pop_back();
        if(!x) break;
    }
    return M;
}

// int main() {

//     return 0;
// }

详细

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 282ms
memory: 3712kb

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

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

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

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

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: 94ms
memory: 3712kb

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

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: 175ms
memory: 3712kb

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: 193ms
memory: 3712kb

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

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

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

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

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: 125ms
memory: 3712kb

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

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

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

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

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

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

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

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: 180ms
memory: 3712kb

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

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

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

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

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