사용자 도구

사이트 도구


ps:problems:boj:10978

기숙사 재배정

ps
링크acmicpc.net/…
출처BOJ
문제 번호10978
문제명기숙사 재배정
레벨골드 3
분류

조합론

시간복잡도O(T*N)
인풋사이즈T<=?, N<=20
사용한 언어Python 3.13
제출기록32412KB / 32ms
최고기록32ms
해결날짜2026/03/26

풀이

  • 기본적인 교란순열 (Derangement) 문제.
  • D(1),…,D(N)을 미리 O(N)에 구해서 저장해두면 각 쿼리들을 O(1)에 처리하는 것도 가능하지만, N의 범위가 워낙 작아서 그럴 필요조차 없다..

코드

"""Solution code for "BOJ 10978. 기숙사 재배정".

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

Tags: [combinatorics]
"""

from teflib import combinatorics


def main():
    T = int(input())
    for _ in range(T):
        N = int(input())
        print(combinatorics.derangement(N))


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
L K J​ C U
 
ps/problems/boj/10978.txt · 마지막으로 수정됨: 2026/03/26 10:08 저자 teferi