๋ฌธ์
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/11726
- 2×n ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ 1×2, 2×1 ํ์ผ๋ก ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
- ์๋ ๊ทธ๋ฆผ์ 2×5 ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ด ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ด๋ค.
- ์ฒซ์งธ ์ค์ n์ด ์ฃผ์ด์ง๋ค. (1 ≤ n ≤ 1,000)
- ์ฒซ์งธ ์ค์ 2×n ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ 10,007๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
์์ด๋์ด
- ์ง์ฌ๊ฐํ์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ๊ฐ์๋ฅผ ์ ์ฅํ n + 1 ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์์ฑํ๋ค.
- ๊ฐ๋ก๊ฐ 1์ผ๋๋ ๋ฐฉ๋ฒ์ด 1๊ฐ์ง, ๊ฐ๋ก๊ฐ 2์ผ๋๋ ๋ฐฉ๋ฒ์ด 2๊ฐ์ง์ด๋ฏ๋ก ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ๊ฐ์ 1, ๋๋ฒ์งธ ๊ฐ์ 2๋ก ์ด๊ธฐํํจ
- 3๋ถํฐ n๊น์ง ๋ฐ๋ณตํ๋๋ฐ, ๊ฐ๋ก ๊ธธ์ด๊ฐ i์ธ ์ง์ฌ๊ฐํ์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋ก๊ฐ (i - 1)์ธ ์ง์ฌ๊ฐํ์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ๊ณผ ๊ฐ๋ก๊ฐ (i - 2)์ธ ์ง์ฌ๊ฐํ์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ํฉํ ๊ฐ๊ณผ ๊ฐ์ผ๋ฏ๋ก ๋ ๊ฐ์ ๋ํ๋ค.
- ๋ ๊ฐ์ ๋ํ ๊ฐ์ 10007์ ๋๋ ๋๋จธ์ง๋ฅผ i๋ฒ์งธ ๊ฐ์ ์ ์ฅํ๋ค.
๊ฒช์ ์ํ์ฐฉ์ค
- X
์ฝ๋
import java.util.*;
import java.io.*;
public class BOJ11726 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// ํ์ผ์ ๊ฐ๋ก ๊ธธ์ด
int n = Integer.parseInt(br.readLine());
// ์ง์ฌ๊ฐํ์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ๊ฐ์๋ฅผ ์ ์ฅํ ๋ฐฐ์ด
int sqr[] = new int[n + 1];
// ๊ฐ๋ก๊ฐ 1์ผ ๋ ๋ฐฉ๋ฒ์ ๊ฐ์๋ 1, ๊ฐ๋ก๊ฐ 2์ผ๋ ๋ฐฉ๋ฒ์ ๊ฐ์๋ 2์ด๋ฏ๋ก
// ๋ฐฐ์ด 1๋ฒ์งธ ๊ฐ์ 1, ๋ฐฐ์ด 2๋ฒ์งธ ๊ฐ์ 2๋ก ์ด๊ธฐํ
sqr[1] = 1;
if(n > 1){
sqr[2] = 2;
}
// 3๋ฒ์งธ๋ถํฐ n๋ฒ๊น์ง ๋ฐ๋ณต
for(int i = 3; i <= n; i++){
// ๊ฐ๋ก์ ๊ธธ์ด๊ฐ i์ผ๋ ๋ฐฉ๋ฒ์ ๊ฐ์๋
// ๊ฐ๋ก์ ๊ธธ์ด i - 1์ผ๋ ๋ฐฉ๋ฒ์ ๊ฐ์์ i - 2์ผ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ ํฉ๊ณผ
// ๊ฐ์ผ๋ฏ๋ก ๋ ๊ฐ์ ๋ํด์ค ๋ค 10007๋ก ๋๋ ๋๋จธ์ง ๊ฐ์ ๊ตฌํจ
sqr[i] = (sqr[i - 1] + sqr[i - 2])%10007;
}
System.out.println(sqr[n]);
}
}
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] BOJ 7626 Four Squares (2) | 2024.07.31 |
---|---|
[Java] BOJ 11727 2รn ํ์ผ๋ง 2 (0) | 2024.07.30 |
[Java] BOJ 11659 ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 (0) | 2024.07.29 |
[Java] BOJ 9461 ํ๋๋ฐ ์์ด (0) | 2024.07.28 |
[Java] BOJ 9375 ํจ์ ์ ์ ํด๋น (0) | 2024.07.28 |