11726๋ฒ: 2×n ํ์ผ๋ง
2×n ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ 1×2, 2×1 ํ์ผ๋ก ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ ๊ทธ๋ฆผ์ 2×5 ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ด ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ด๋ค.
www.acmicpc.net
๋ฌธ์
ํ์ด
2 * N ์ ๊ฒฝ์ฐ์ ์๋ 2 * (N - 1)์ ๊ฒฝ์ฐ์ ์์ 2 * (N - 2)์ ๊ฒฝ์ฐ์ ์์ ํฉ๊ณผ ๊ฐ๋ค.
์ฆ, ๋ฐฐ์ด์ ์์ฑํ์ฌ 2 * 1์ผ๋๋ 1๊ฐ์ ๊ฒฝ์ฐ์ ์์ 2 * 2์ผ๋๋ 2๊ฐ์ ๊ฒฝ์ฐ์ ์๊ฐ ์์ผ๋ ๋ฐฐ์ด์ ๋ฃ์ด์ฃผ๊ณ ,
๋ฐ๋ณต๋ฌธ์ ํตํด์ i๋ฅผ 3๋ถํฐ ์์ํ์ฌ i - 2์ i -1์ ๋ํ๊ฐ์ arr[i]์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์ ์ฐ์ฐํ ๋๋ง๋ค mod ์ฐ์ฐ์ ํด์ฃผ์ด์ผ ํ๋ค.
๊ณ์ ์ซ์๋ฅผ ๋ํ๊ณ ๋ง์ง๋ง ์ถ๋ ฅ์์๋ง mod์ฐ์ฐ์ ํด์ค ๊ฒฝ์ฐ Integer.MAX_VALUE๋ฅผ ๋์ด Overflow๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ๊ฐ์ด ์ถ๋ ฅ๋ ์ ์๋ค.
์์ค ์ฝ๋
import java.io.*;
import java.util.*;
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());
int[] DP = new int[1001];
DP[1] = 1;
DP[2] = 2;
for (int i = 3; i <= N; i++) {
DP[i] = (DP[i - 1] + DP[i - 2]) % 10007;
}
System.out.println(DP[N]);
}
}
์ฐธ๊ณ
[๋ฐฑ์ค] 11726๋ฒ: 2×n ํ์ผ๋ง - JAVA
๐ ๋ฌธ์ ๋งํฌ BOJ 11726๋ฒ: 2×n ํ์ผ๋ง 11726๋ฒ: 2×n ํ์ผ๋ง 2×n ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ 1×2, 2×1 ํ์ผ๋ก ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ ๊ทธ๋ฆผ์ 2×5 ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ด ํ
girawhale.tistory.com
'๐ ์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 10845๋ฒ : ํ (JAVA) (1) | 2023.01.12 |
---|---|
[๋ฐฑ์ค] 2606๋ฒ : ๋ฐ์ด๋ฌ์ค (1) | 2023.01.11 |
[๋ฐฑ์ค] 2579๋ฒ : ๊ณ๋จ ์ค๋ฅด๊ธฐ (0) | 2023.01.10 |
[๋ฐฑ์ค] 9093๋ฒ : ๋จ์ด ๋ค์ง๊ธฐ (1) | 2023.01.08 |
[๋ฐฑ์ค] 1931๋ฒ : ํ์์ค ๋ฐฐ์ (0) | 2023.01.07 |