반응형
🔺 문제
🔺 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
long[] dp = new long[N + 1];
// 홀수일 경우, 채울 수 없으므로 0 출력하고 종료
if(N % 2 != 0) {
System.out.println(0);
return;
}
// N은 짝수만 가능
dp[0] = 1; // 아무 것도 채우지 않는 경우
dp[2] = 3;
for(int i = 4 ; i <= N ; i += 2) { // 짝수만 가능하므로 2씩 증가
dp[i] = dp[i - 2] * dp[2];
for(int j = i - 4 ; j >= 0 ; j -= 2) { // 예외 케이스 더하기
dp[i] += (dp[j] * 2); // 2는 예외 케이스
}
}
System.out.println(dp[N]);
}
}
|
cs |
✅ 해결 아이디어
✔ DP
- 점화식 : 그 전전 타일 만드는 방법 수 * 이전에 나타난 특별한 타일 개수(2)
💬 느낀 점
식 구하는 것이 너무나 어렵도다.....ㅠ
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
(참고)
- 이 글 특히 짱,,,
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 14225번: 부분수열의 합 (0) | 2023.09.01 |
---|---|
[백준/JAVA] 1339번: 단어 수학 (0) | 2023.08.31 |
[백준/JAVA] 2529번: 부등호 (0) | 2023.08.31 |
[백준/JAVA] 11057번: 오르막 수 (0) | 2023.08.30 |
[백준/JAVA] 1309번: 동물원 (0) | 2023.08.29 |