Algorithm/BOJ
[백준 12107] 약수 지우기 게임 1
giiro
2020. 10. 5. 22:31
문제
12107번: 약수 지우기 게임 1
N=4인 경우, A는 처음에 4,2,1을 지운다. 칠판에 남은 수는 3으로, B는 3을 지울 수밖에 없어 패배한다.
www.acmicpc.net
문제 풀이
모든 수의 약수인 1을 제외한 N-1개의 수로 게임을 진행했을 때의 결과로 N개의 수를 뽑는 상황을 생각해보면 아래와 같습니다.
1. N - 1개의 수로 게임했고, 마지막 순서가 상대(B)에게 갈 때
-
A가 처음 뽑은 수의 약수에 1을 포함한다면 똑같이 마지막 순서가 상대에게 가므로 (A)승리
2. N - 1개의 수로 게임했고, 마지막 순서가 나(A)에게 올 때
-
A가 처음 순서에 1만 집고 시작하면 마지막 순서가 상대에게 가므로 (A)승리
3. 따라서 N이 1인 경우에만 A가 패배하고 나머지는 전부 A가 승리합니다.
코드
#include <bits/stdc++.h>
using namespace std;
int n;
int main() {
cin.tie(NULL); cout.tie(NULL);
ios_base::sync_with_stdio(false);
cin >> n;
if (n == 1) cout << "B";
else cout << "A";
}