Logo
(追記) (追記ここまで)

35038번 - 수 맞히기 게임 언어 제한함수 구현

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB128563237.647%

문제

민재와 재하는 수 맞히기 게임의 참가자이고, 유담이는 이 게임의 진행자이다.

유담이는 게임 시작 전 두 양의 정수 $N,ドル $M$을 정한다. 이때 두 수의 차 $|N-M|$을 $K$라 하자.

수 맞히기 게임의 진행 방식은 다음과 같다.

  1. 유담이는 민재에게 $N$과 $K$를 알려주고 재하에게 $M$과 $K$를 알려준다.
  2. 민재는 $N$과 $K$의 값을 알게 된 후 재하에게 정수 $C$를 종이에 적어 전달한다. 이때 $C$는 0ドル$ 또는 1ドル$이어야 한다.
  3. 재하는 자신이 알고 있는 $M$과 $K,ドル 그리고 민재에게 전달받은 $C$를 이용하여 $N$의 값을 추측한다.

게임 시작 전 민재와 재하는 전략을 논의할 수 있다. 그러나 게임이 시작된 후에 두 사람은 민재가 정수 $C$를 종이에 적어 재하에게 전달하는 것 이외에는 어떤 방법으로도 소통할 수 없다.

재하가 추측한 값이 실제 $N$과 같다면 민재와 재하는 게임에서 승리한다.

두 사람을 위해 게임에서 승리할 수 있는 전략을 만들어 주자.

함수 구현

함수 구현에 앞서 #include "game.h" 를 통해 "game.h" 헤더파일을 포함해야 한다.

여러분은 다음 두 함수를 구현해야 한다.

int mj1000j(int N, int K)
  • 민재의 전략을 나타내는 함수이다.

  • 이 함수는 민재가 전달할 정수 $C$를 반환해야 하며 $C \in \{0, 1\}$을 만족해야 한다. 범위를 만족하지 않는 수를 반환하는 경우 틀렸습니다를 받는다.

int anchor(int M, int K, int C)
  • 재하의 전략을 나타내는 함수이다.

  • 이 함수는 재하가 추측한 $N$의 값인 정수 $N'$를 반환해야 한다. 만약 $N \neq N'$인 경우 틀렸습니다를 받는다.

모든 게임에서 $N=N'$을 만족하는 경우 맞았습니다!!를 받는다.

한 번의 게임은 두 함수를 차례대로 1ドル$회씩 호출하며, 각 테스트케이스에서는 최대 40ドル \ 000$번의 게임이 진행될 수 있다.

제출하는 소스 코드의 어느 부분에서도 입출력 함수를 실행해서는 안 된다.

입력

출력

제한

  • 1ドル \le N \le 1 ,000円$
  • 1ドル \le M \le 1 ,円 000$

힌트

예제

$N=5,ドル $M=3$인 경우를 생각하자.

$K=|N-M|=2$이므로, 그레이더는 다음 함수를 호출한다.

mj1000j(5, 2)

민재가 재하에게 $C=1$을 전달하는 경우를 생각하자.

그레이더는 다음 함수를 호출한다.

anchor(3, 2, 1)

이 함수는 $N'=5$를 구하여 반환해야 한다.

샘플 그레이더

샘플 그레이더는 다음의 형식으로 입력을 받는다:

  • line 1ドル$ : $T$
  • line 1ドル+i$ (1ドル \le i \le T$) : $N[i]$ $M[i]$

$T$는 테스트케이스의 개수, $N[i],ドル $M[i]$는 각각 $i$번째 테스트케이스에서의 $N$과 $M$의 값을 의미한다.

샘플 그레이더는 다음 형식으로 답을 출력한다:

  • mj1000j 함수의 반환값이 0ドル$ 또는 1ドル$이 아닌 경우:
    • line 1ドル$: Invalid return value
  • 그렇지 않은 경우:
    • line $i$ (1ドル \le i \le T$) :
      • $N=N'$인 경우 $N$ == $N'$
      • $N \neq N'$인 경우 $N$ != $N'$

첨부

출처

제출할 수 있는 언어

C++17, C++20, C++23, C++26

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /