í°ì¤í 리 ë·°
문ì : https://www.acmicpc.net/problem/2225
2225ë²: í©ë¶í´
첫째 ì¤ì ëµì 1,000,000,000ì¼ë¡ ëë ë머ì§ë¥¼ ì¶ë ¥íë¤.
www.acmicpc.net


ð Solve
ë¤ì´ë믹 íë¡ê·¸ëë°(DP)ì ì´ì©íì¬ íììµëë¤.
í´ë¹ 문ì 를 í를 ë§ë¤ì´ì ìê°í´ë³´ë©´ ì íìì ì½ê² ë§ë¤ì´ë¼ ì ììµëë¤.
문ì ìì ìì ì ë ¥ 2ë²ê³¼ ê°ì´ N=6, K=4ì¼ ë를 ìë¡ ë¤ì´ë³´ê² ìµëë¤.
2ì°¨ì intí ë°°ì´ì ë§ë¤ì´ì
íìë K (1~4)를, ì´ìë N (0~ 6)ì ëíë´ë ë°°ì´ì ë§ë¤ì´ì¤ëë¤.
í´ë¹ dp.ë°°ì´ì Kê°ì ì«ìë¡ Nì ë§ë¤ ì ìë ê²½ì°ì ì를 ì±ìì¤ëë¤.
ì´ë, Kê° 1ê°ì¼ ëë ê° ì«ì ìì ë§ì´ ê°ë¥íë 1ë¡ ì±ìì¤ëë¤.
Nê° 0ì¼ ë 0 ìì ë§ ê°ë¥íë¯ë¡ ë§ì°¬ê°ì§ë¡ 1ë¡ ì±ìëë¤.
| dp | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 1 | ||||||
| 3 | 1 | ||||||
| 4 | 1 |
ë¤ìì¼ë¡ (2, 1)ì ì´í´ë³´ë©´,
ì«ì 1ê°ë¡ 1ì ë§ë¤ ì ìë ê²½ì°ì ì(1+0) + 2ê°ì ì«ìë¡ 0ì ë§ë¤ ì ìë ê²½ì°ì ì를 ëí´ì£¼ë©´(0+1)
ì«ì 2ê°ë¡ 1ì ë§ë¤ ì ìë ê²½ì°ì ì를 구í ì ììµëë¤.
ê°ì ë°©ìì¼ë¡ í를 ì±ìëë¤.
| dp | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 3 | 1 | 3 | 6 | 10 | 15 | 21 | 28 |
| 4 | 1 | 4 | 10 | 20 | 35 | 56 | 84 |
ë°ë¼ì dp[ i ][ j ] = dp[ i-1 ][ j ] + dp[ i ][ j-1 ]ì ê°ì ì íìì ì¸ì¸ ì ììµëë¤.
ìì ê°ì ìì ìì dp[4][6]ì ê°ì´ 84ì´ë¯ë¡, 문ì ìì 주ì´ì§ ê²ê³¼ ê°ì´ 1000,000,000를 ëë ëµì ì¶ë ¥í©ëë¤.
ð±ð» Code
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static int N, K;
static int[][] dp;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
K = Integer.parseInt(st.nextToken());
dp = new int[K+1][N+1];
for(int n=0;n<=N;n++){
dp[1][n] = 1;
}
for(int k=1;k<=K;k++){
dp[k][0] = 1;
}
for(int k=2;k<=K;k++){
for(int n=1;n<=N;n++){
dp[k][n] = dp[k-1][n] + dp[k][n-1];
dp[k][n] %=1000000000;
}
}
System.out.println(dp[K][N]);
}
}'ìê³ ë¦¬ì¦ > ë°±ì¤' ì¹´í ê³ ë¦¬ì ë¤ë¥¸ ê¸
| [BOJ] ë°±ì¤ 13265 ìì¹ í기 (JAVA) (1) | 2022.05.31 |
|---|---|
| [BOJ] ë°±ì¤ 25192 ì¸ì¬ì± ë°ì ê³°ê³°ì´ (JAVA) (1) | 2022.05.31 |
| [BOJ] ë°±ì¤ 2638 ì¹ì¦ (JAVA) (3) | 2022.04.26 |
- TAG
- BOJ, dp, Java, ë°±ì¤, ìê³ ë¦¬ì¦
- ë°ê°ìµëë¤. ê¸ì 구ì±ê³¼ íë¦ì´ ë§¤ì° ìì°ì¤ë¬ì ìµëë¤.â¯
- ë¤ë ë¤ ê°ëë¤~ ì½ë ë´ë´ 몰ì íì´ì. ììì ìë¯¸ë¡ â¯
- ë°ë»í ì´ì¼ê¸° ëë¶ì íë£¨ê° ë ì¦ê±°ìì¡ì´ì. ê°ì¬í©ëâ¯
- ê¸ì´ ì°¸ ê¹ì´ê° ìë¤ì. ê°ì ê³¼ ë ¼ë¦¬ê° ì ì¡°í를 ì´ë¤â¯
- Total
- 1,011
- Today
- 0
- Yesterday
- 0
- bruteforce
- ì¡°í©
- OS
- ìì´í 60
- ìì íì
- subset
- dfs
- Java
- cicd
- ë°±ì¤
- IMAGE
- Retrofit2
- docker
- docker-compose
- í í°ê¸°ë°ì¸ì¦
- EffectiveJava
- ìê³ ë¦¬ì¦
- springboot
- DevOps
- ìí
- Container
- ìì´í 61
- ì´íí°ë¸ìë°
- ì´ìì²´ì
- dp
- BOJ
- ìì´
- ê·¸ëííì
- BFS
- ìì´í 59
