답안 #666378

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
666378 2022-11-28T10:58:27 Z mychecksedad Flight to the Ford (BOI22_communication) C++17
0 / 100
31 ms 236 KB
#include <utility>
#include <bits/stdc++.h>
using namespace std;
/**
 * use this function in encode when you want to send a certain signal
 * (it might come out wrong, and the return value tells you which signal
 * was actually sent)
 */
int send(int);

/**
 * use this function in decode; it returns the next signal that was actually
 * sent during the corresponding call of encode
 */
int receive();

/**
 * implement these two functions yourself
 */

void encode(int N, int X){
    for(int j = 0; j < 2; ++j){
        bool val = (1<<j)&X;
        send(val);
        send(val);
        send(val);
    }
}
pair<int, int> decode(int N) {
    int a = 0, b = 0;

    int x[6];
    for(int j = 0; j < 6; ++j) x[j] = receive();
    bool f = 1, g = 1;
    if(x[0] == x[1] || x[1] == x[2]){
        a += x[1];
        b += x[1];
    }else{
        a += 1;
        f = 0;
    }
    if(x[3] == x[4] || x[4] == x[5]){
        a += x[4] * 2;
        b += x[4] * 2;
    }else{
        b += 2;
        g = 0;
    }
    if(!f && !g) a = b = 3;
    if(b==0) b++;
    if(a==0) a++;
    return {a, b};
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 200 KB Not correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 31 ms 236 KB Not correct
2 Halted 0 ms 0 KB -