사용자 도구

사이트 도구


ps:problems:boj:31215

이상한 섞기 연산

ps
링크acmicpc.net/…
출처BOJ
문제 번호31215
문제명이상한 섞기 연산
레벨브론즈 3
분류

애드혹

시간복잡도O(T)
인풋사이즈T<=1000
사용한 언어Python 3.11
제출기록31120KB / 44ms
최고기록40ms
해결날짜2024/01/08

풀이

  • 수학적인 용어와 형식으로 표현한 문제 설명을 이해하는데 약간의 노력이 필요하지만, 문제를 이해하고 나면 풀이는 자명하다
  • n이 2 이하일때에는, 1은 움직이지 않는다. 그러므로 1의 최종 위치는 변함없이 1이다
  • n이 3이상인 경우에는 3-교환 시점에서 1이 인덱스 3으로 이동된다. 이렇게 3의 자리로 이동되고 나면 3은 2의 거듭제곱수가 아니기때문에 이후의 어떤 교환에서도 이동되지 않는다. 그러므로 1의 최종 위치는 3이다.

코드

"""Solution code for "BOJ 31215. 이상한 섞기 연산".

- Problem link: https://www.acmicpc.net/problem/31215
- Solution link: http://www.teferi.net/ps/problems/boj/31215
"""

import sys


def main():
    T = int(sys.stdin.readline())
    for _ in range(T):
        n = sys.stdin.readline().rstrip()
        if n == '1' or n == '2':
            print('1')
        else:
            print('3')


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
P G K I Q
 
ps/problems/boj/31215.txt · 마지막으로 수정됨: 2024/01/08 08:06 저자 teferi