페이지

10978번: 기숙사 재배정

https://www.acmicpc.net/problem/10978


$O(t+MAXn)$

1~20 번째 완전순열을 미리 구해놓고 각 테스트 케이스마다 정답을 출력한다.


#include<cstdio>
int t, n;
long long dp[21];
int main() {
    dp[0] = 1;
    for (int i = 2; i <= 20; i++) dp[i] = (i - 1)*(dp[i - 1] + dp[i - 2]);
    scanf("%d", &t);
    while (t--) scanf("%d", &n), printf("%lld\n", dp[n]);
    return 0;
}

댓글 없음 :

댓글 쓰기