RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
문제 KOI00301

구슬게임

설명

두 사람 A와 B가 번갈아 가면서 두 개의 구슬 통에서 몇 개씩의 구슬을 꺼내는 게임을 한다.

한번에 한 사람이 한 통에서 꺼낼 수 있는 구슬의 개수는 세 가지 뿐이다. 그리고 구슬을 꺼낼 경우 두 개의 구슬 통 중에서 하나를 마음대로 선택해서 그 안에서만 꺼낼 수 있다. 즉 두 개의 통 모두에서 동시에 몇 개씩 꺼낼 수는 없다.

게임은 항상 A가 먼저하고 그 다음 B, 그 다음 A 순으로 번갈아가면서 진행된다. 그리고 자신의 차례가 되었을 때에 정해진 규칙대로 구슬을 꺼낼 수 없는 사람이 게임에서 지게 되고, 상대방은 승리하게 된다.

예를 들어 한번에 꺼낼 수 있는 구슬의 개수를 1개, 3개, 또는 4개라고 하자. 만일 두 개의 구슬 통에 각각 4개, 1개의 구슬이 있다고 하면 처음 선택을 하게 되는 A가 이긴다. 그러나 만일 두 통속의 구슬이 각각 5개, 5개라면 B가 이긴다.

즉 한번에 꺼낼 수 있는 구슬 개수인 \(b_{1}\), \(b_{2}\), \(b_{3}\)가 주어지고, 두 구슬 통 속에 들어있는 구슬의 수인 \(k_{1}\), \(k_{2}\)이 정해지면, 이러한 \(b_{1}\), \(b_{2}\), \(b_{3}\)\(k_{1}\), \(k_{2}\)에 따라서 승패는 결정된다. 문제는 주어진 \(b_{1}\), \(b_{2}\), \(b_{3}\)\(k_{1}\), \(k_{2}\)에 대하여 A, B중 누가 승자인지를 결정하는 것이다.

처음 두 통 속에 들어 있는 구슬의 수 \(k_{1}\), \(k_{2}\)와 한 번에 꺼낼 수 있는 구슬의 수 \(b_{1}\), \(b_{2}\), \(b_{3}\)에 대한 제한조건은 다음과 같다.

  • \(1 \le b_{1} < b_{2} < b_{3} \le 30\)

  • \(1 \le k_{1},\) \(k_{2} \le 500\)

※ 이 문제의 채점 데이터는 공개된 공식 데이터가 없어 재구성한 것입니다. 문제 지문은 원본(정보올림피아드 기출)을 따릅니다.

제약
입력 형식

첫 줄에는 한번에 꺼낼 수 있는 구슬의 개수를 나타내는 세 개의 정수 \(b_{1}\), \(b_{2}\), \(b_{3}\) 가 나타난다. 그 다음 5개의 각 줄에는 두 통속에 처음 담겨있는 구슬의 개수 \(k_{1}\), \(k_{2}\)가 각각 표시되어 있다.

출력 형식

각 5개의 \(k_{1}\), \(k_{2}\) 경우에 대하여 그에 대응되는 승자(A 또는 B)를 각각 한 줄에 하나씩 차례대로 다섯 개를 출력해야 한다.

예제 1
입력
1 3 4
4 1
5 5
10 2
15 16
30 14
출력
A
B
A
A
B
문제 정보

생성자가 기록되지 않았습니다.

출처 올림피아드 > 한국정보올림피아드 > KOI 2004 > 2차 대회 > 중등부 2번

평가 및 의견

구슬게임

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

구슬게임

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8