시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 512 MB 189 75 58 46.774%

문제

이제부터 여러분은 교준이와 간단한 가위바위보 게임을 하게 된다. 교준이는 가위바위보를 하기 전에 다음과 같은 심리전을 펼친다.

  • 가위바위보 전에 "교준이는 '가위'를 낼거야!" 라고 말한 경우 실제로 교준이는 '주먹'을 낸다.
  • 가위바위보 전에 "교준이는 '보'를 낼거야!" 라고 말한 경우 실제로 교준이는 '보'를 낸다.
  • 가위바위보 전에 "교준이는 '주먹'을 낼거야!" 라고 말한 경우 실제로 교준이는 '가위'를 낸다.

이제부터 교준이와 총 T번의 가위바위보를 하게 된다. 다만 여러분은 T번의 가위바위보를 모두 교준이에게 져야 한다.

교준이와 가위바위보를 하는 프로그램을 작성하시오.

함수 목록 및 정의

여러분의 프로그램은 제공되는 "WAEP.h" 파일을 include 해야 한다.

여러분은 다음과 같은 함수를 작성해야 한다.

  • void init(int T)
    • 프로그램을 실행하고 난 직후, 한 번만 호출된다. T는 여러분이 교준이와 하게 될 게임의 총 판 수를 나타내는 자연수이다.
  • int janken(int P)
    • 본 함수의 호출은 게임 한 판의 시작을, 종료는 게임 한 판의 종결을 의미한다.
    • P = 0인 경우, 가위바위보 전에 교준이가 "교준이는 '주먹'을 낼거야!" 라고 심리전을 펼친 것을 의미한다.
    • P = 2인 경우, 가위바위보 전에 교준이가 "교준이는 '가위'를 낼거야!" 라고 심리전을 펼친 것을 의미한다.
    • P = 5인 경우, 가위바위보 전에 교준이가 "교준이는 '보'를 낼거야!" 라고 심리전을 펼친 것을 의미한다.
    • 여러분이 '보'를 내야 할 경우 0을, '주먹'을 내야 할 경우 5를, '가위'를 내야 할 경우 2를 반환한다.

여러분은 제출할 소스 파일 안에서 다른 변수나 함수 등을 자유롭게 선언할 수 있다. 다만 입출력 함수를 호출하거나 파일에 접근하는 행위는 금지된다. 또한 Grader의 취약점이나 포인터를 이용하여, Grader의 숨겨진 변수에 접근하거나, 점수를 조작하는 등의 불법적 행위를 할 경우, 실격 처리될 수 있음에 유의하라.

여러분이 작성한 소스 코드를 테스트하기 위하여, Sample Grader가 제공된다. 제공되는 Sample Grader는 실제 채점에 활용되는 Grader와 다를 수 있다.

입력

Sample Grader는 다음과 같은 정보를 Standard Input을 통해 읽어들인다. 여러분은 어떠한 입력도 받으면 안된다.

첫 번째 줄에 교준이와 할 게임의 총 판수를 의미하는 자연수 T가 주어진다.

두 번째 줄부터 T개의 줄에 걸쳐, 함수 janken의 인자 P의 값이 주어진다.

출력

Sample Grader는 다음과 같은 정보를 Standard Output을 통하여 출력한다. 여러분은 어떠한 출력도 하면 안된다. 첫 번째 줄부터 T개의 줄에 걸쳐, 함수 janken이 반환한 값을 출력한다.

제한

  • 1 ≤ T ≤ 100

제공 파일

예제 입력 1

2
2
2

예제 출력 1

2
2

부연 설명

다음은 위의 입출력 예제에 대해서, Sample Grader와 Interaction하는 과정을 나타낸 것이다.

WAEP.cpp Grader 설명
  T = 2 Grader에서 T의 값을 읽어들인다.
  init(T = 2) 호출 init 함수는 초기에 한 번만 호출된다.
  P = 2  
  janken(P = 2) 호출  
return 2   가위를 낸다.
  2를 출력 Grader는 리턴 값을 출력한다.
  P = 2  
  janken(P = 2) 호출  
return 2   가위를 낸다.
  2를 출력 Grader는 리턴 값을 출력한다.
  종료  

위의 Interaction 과정은 실제 정해와 전혀 관련이 없으며, 단지 이해를 돕기 위해 만든 예시이다.

출처

  • 문제를 만든 사람: yclock

제출할 수 있는 언어

C++14, C++17

채점

  • 예제는 채점하지 않는다.