ps:problems:boj:34019
[G] Grounded Number
| ps | |
|---|---|
| 링크 | acmicpc.net/… |
| 출처 | BOJ |
| 문제 번호 | 34019 |
| 문제명 | [G] Grounded Number |
| 레벨 | 골드 5 |
| 분류 |
애드혹 |
| 시간복잡도 | O(1) |
| 사용한 언어 | Python 3.13 |
| 제출기록 | 32412KB / 32ms |
| 최고기록 | 28ms |
| 해결날짜 | 2026/03/03 |
풀이
- 매 턴 지날때마다 k는 항상 1씩 증가한다. 반면 N은 증가하거나 감소하거나 한다. N-k는 일정하거나 2만큼 줄어들거나 하고, 언젠가는 N이 k보다 작거나 같아지게 된다.
- 만약 어느 시점에 N=k 가 된다면, 그때부터는 계속 N과 k가 같이 1씩 증가하게 된다. 그때는 무한한 턴이 지나더라도 N이 0이 될수 없다.
- 만약 어느 시점에 N=k-1이 된다면, 그때부터는 N은 계속 1씩 감소하게 된다. 턴이 지나면 결국 N은 0이 된다.
- N-k의 값은 2만큼씩만 줄어들기 때문에, N이 처음에 홀수였다면 어느시점에 N=k가 될것이고, N이 처음에 짝수였다면 어느시점에 N=k-1이 될것이다.
- 결국 N의 홀짝성만 체크하면 답을 구할수 있다. 시간복잡도는 O(1)
코드
"""Solution code for "BOJ 34019. [G] Grounded Number".
- Problem link: https://www.acmicpc.net/problem/34019
- Solution link: http://www.teferi.net/ps/problems/boj/34019
Tags: [ad hoc]
"""
def main():
N = int(input())
print('Yes' if N % 2 == 0 else 'No')
if __name__ == '__main__':
main()
ps/problems/boj/34019.txt · 마지막으로 수정됨: 2026/03/04 15:25 저자 teferi

토론