답안 #1099095

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1099095 2024-10-10T14:17:30 Z LIA Flight to the Ford (BOI22_communication) C++17
15 / 100
28 ms 3136 KB
#include "communication.h"
#include <bits/stdc++.h>
using namespace std;

void encode(int N, int X) {
    if (X == 1) {
        for (int i = 0; i < 4; ++i) {
            send(0);
        }
    } else if (X == 2) {
        for (int i = 0; i < 4; ++i) {
            send(1);
        }
    } else if (X == 3) {
        send(1);
        send(0);
        send(0);
        send(1);
    }
}

pair<int, int> decode(int N) {
    vector<int> receivedSignals(4);
    for (int i = 0; i < 4; ++i) {
        receivedSignals[i] = receive();
    }

    int count0 = 0, count1 = 0;
    int maxCount0 = 0, maxCount1 = 0;

    for (int signal : receivedSignals) {
        if (signal == 0) {
            count0++;
            maxCount0 = max(maxCount0, count0);
            count1 = 0;
        } else {
            count1++;
            maxCount1 = max(maxCount1, count1);
            count0 = 0; 
        }
    }

    if (maxCount0 == 4) return {1, 3};
    if (maxCount1 == 4) return {2, 3};
    if (maxCount0 == 1 && maxCount1 == 1) return {1, 2};
    if (maxCount0 > 1) return {1, 3};
    if (maxCount1 > 1) return {2, 3};

    return {1, 2}; 
}
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 2744 KB Output is correct
2 Correct 8 ms 2740 KB Output is correct
3 Correct 12 ms 2744 KB Output is correct
4 Correct 6 ms 2756 KB Output is correct
5 Correct 5 ms 2740 KB Output is correct
6 Correct 21 ms 3136 KB Output is correct
7 Correct 28 ms 2900 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 332 KB Not correct
2 Halted 0 ms 0 KB -