답안 #614278

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
614278 2022-07-31T00:33:10 Z Plurm Flight to the Ford (BOI22_communication) C++17
0 / 100
510 ms 200 KB
#include "communication.h"
#include <bits/stdc++.h>
using namespace std;

int innersend(int bit) {
  int rec, last;
  if (bit) {
    rec = send(0);
    if (rec == 1)
      last = send(1);
    else {
      rec = send(0);
      if (rec == 1)
        last = send(1);
      else
        last = rec;
    }
  } else {
    rec = send(1);
    if (rec == 0)
      last = send(0);
    else {
      rec = send(1);
      if (rec == 0)
        last = send(0);
      else
        last = rec;
    }
  }
  return last;
}

void sendbit(int bit) {
  int last = 0;
  for (int tmt = 0; tmt < 81; tmt++) {
    if (bit) {
      last = innersend(last ^ 1);
    } else {
      last = innersend(last);
    }
  }
}

void encode(int N, int X) {
  // N = 3
  if (X == 2)
    sendbit(1);
  else
    sendbit(0);
}

int recbit() {
  int cnt[2];
  cnt[0] = cnt[1] = 0;
  int last = 0;
  for (int tmt = 0; tmt < 81; tmt++) {
    int last = receive();
    int cur = receive();
    while (last != cur) {
      last = cur;
      cur = receive();
    }
    cnt[cur ^ last]++;
    last = cur;
  }
  return cnt[0] > cnt[1] ? 0 : 1;
}

std::pair<int, int> decode(int N) { return {1, (recbit() ? 2 : 3)}; }

Compilation message

communication.cpp: In function 'int recbit()':
communication.cpp:55:7: warning: unused variable 'last' [-Wunused-variable]
   55 |   int last = 0;
      |       ^~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 67 ms 200 KB Not correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 510 ms 200 KB Not correct
2 Halted 0 ms 0 KB -