사용자 도구

사이트 도구


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()

토론

댓글을 입력하세요:
T Z᠎ N L᠎ J
 
ps/problems/boj/34019.txt · 마지막으로 수정됨: 2026/03/04 15:25 저자 teferi