Skip to content

Commit bf0c3c4

Browse files
authored
[20250218] BOJ / 골드3 / 기숙사 재배정 / 김수연
1 parent 5feb093 commit bf0c3c4

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
```java
2+
import java.util.*;
3+
import java.io.*;
4+
5+
public class Solution {
6+
public static void main(String[] args) throws Exception {
7+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
8+
StringTokenizer st = new StringTokenizer(br.readLine());
9+
10+
int T = Integer.parseInt(st.nextToken());
11+
int[] N = new int[T];
12+
int maxN = 0;
13+
for (int tc = 0; tc < T; tc++) {
14+
st = new StringTokenizer(br.readLine());
15+
N[tc] = Integer.parseInt(st.nextToken());
16+
maxN = Math.max(maxN, N[tc]);
17+
}
18+
long[] dp = new long[maxN+1];
19+
dp[2] = 1;
20+
for (int i = 3; i <= maxN; i++) {
21+
long total = 1;
22+
long minus = 0;
23+
long divide = 1;
24+
for (int j = i; j > 2; j--) {
25+
total *= j;
26+
divide *= (i-j+1);
27+
minus += total*dp[j-1]/divide;
28+
}
29+
dp[i] = total*2 - (minus+1);
30+
}
31+
for (int i = 0; i < T; i++) {
32+
System.out.println(dp[N[i]]);
33+
}
34+
}
35+
}
36+
```

0 commit comments

Comments
 (0)