[Java]BOJ 2225 : ํ•ฉ๋ถ„ํ•ด

2025. 2. 21. 10:13ยทAlgorithm

https://www.acmicpc.net/problem/2225

๐Ÿšฉ๋ฌธ์ œ

๐Ÿ”“๋ฌธ์ œํ•ด๊ฒฐ

N๊นŒ์ง€์˜ ์ •์ˆ˜๋ฅผ 0๊ฐœ ๋”ํ•ด์„œ ๊ทธ ํ•ฉ์ด 0์ด ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ 0์„ k๋ฒˆ ๋”ํ•˜๋Š” ๋ฐฉ๋ฒ• 1๊ฐœ๋ฐ–์— ์—†๋‹ค.

k=1์ผ ๊ฒฝ์šฐ N๊นŒ์ง€์˜ ์ •์ˆ˜๋ฅผ 1๊ฐœ ๋”ํ•ด์„œ ๊ทธ ํ•ฉ์ด N์ด ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜

=> ์ž๊ธฐ ์ž์‹ ๋งŒ ๊ฐ€์ง. 1๊ฐœ

=> dp[k+1][n+1] ์˜ ํฌ๊ธฐ์ผ ๊ฒฝ์šฐ dp[1]์„ 1๋กœ ์ฑ„์›Œ์ค€๋‹ค.

  1. N=1์ผ๋•Œ
    1. k=1 : 1               :: 1๊ฐ€์ง€
    2. k=2 : 1+0 , 0+1  :: 2๊ฐ€์ง€
    3. k=3 : 1+0+0 , 0+1+0, 0+0+1 :: 3๊ฐ€์ง€  
  2. N=2 ์ผ๋•Œ
    1. k=1 : 2               :: 1๊ฐ€์ง€
    2. k=2 : 2+0 , 0+2,1+1  :: 3๊ฐ€์ง€
    3. k=3 : 1+1+0 , 1+0+1, 0+1+1 ,2+0+0,0+2+0,0+0+2 :: 6๊ฐ€์ง€
  3. N=3 ์ผ๋•Œ
    1. k=1 : 3               :: 1๊ฐ€์ง€
    2. k=2 : 3+0 ,0+3,1+2,2+1  :: 4๊ฐ€์ง€
    3. k=3 : 1+1+1,1+2+0,2+1+0,1+0+2, 2+0+1, 0+1+2, 0+2+1, 3+0+0, 0+3+0, 0+0+3 :: 10๊ฐ€์ง€

 

k    \      n 0 1 2 3
1 dp[1][0] = 1 dp[1][1] = 1 dp[1][2] = 1 dp[1][3] = 1
2 dp[2][0] = 1 dp[2][1]
= dp[2][0]+dp[1][1] 
=dp[1][0]+dp[1][1]
dp[2][2]
=dp[2][1]+dp[1][2]
dp[2][3]
=dp[2][2]+dp[1][3]
3 dp[3][0] = 1 dp[3][1]
= dp[3][0]+[2][1]

dp[3][2]
=dp[3][1] +dp[2][2]
dp[3][3]
=dp[3][2]+d[2][3]
import java.util.Arrays;
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int mod = 1000000000; //๋‚˜๋ˆ ์„œ ์ถœ๋ ฅํ•ด์•ผํ•˜๋Š”์ˆ˜๋ฅผ ๋ณ€์ˆ˜๋กœ ์ง€์ •ํ•ด์คŒ
        int n= sc.nextInt();
        int k= sc.nextInt();
        int [][]dp= new int[k+1][n+1]; //๋ฒ”์œ„๊ฐ€ 0๋ถ€ํ„ฐ ์‹œ์ž‘
        Arrays.fill(dp[1], 1); //k=1์ธ๊ฒฝ์šฐ ์ž๊ธฐ์ž์‹ ๋ฟ์ž„
        for (int i = 1; i <= k; i++) dp[i][0] = 1; //0๋งŒ ๊ณ„์† ๋”ํ•ด์ง€๋ฏ€๋กœ ๊ฒฝ์šฐ์˜ ์ˆ˜ 1๊ฐœ
        for (int i = 2; i <= k; i++) {
            for (int j = 1; j <= n; j++) {
                dp[i][j] = (dp[i-1][j] + dp[i][j-1]) % mod;
            }
        }
        System.out.println(dp[k][n]);

    }

}

'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Java]BOJ 1351 : ๋ฌดํ•œ ์ˆ˜์—ด  (1) 2025.02.21
[Java]BOJ 1654 : ๋žœ์„  ์ž๋ฅด๊ธฐ  (0) 2025.01.15
[Java]BOJ 2776 : ์•”๊ธฐ์™•  (0) 2025.01.13
[Java]BOJ 1388 : ๋ฐ”๋‹ฅ์žฅ์‹  (0) 2024.12.07
[Java]BOJ 1026 : ๋ณด๋ฌผ  (0) 2024.12.06
'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Java]BOJ 1351 : ๋ฌดํ•œ ์ˆ˜์—ด
  • [Java]BOJ 1654 : ๋žœ์„  ์ž๋ฅด๊ธฐ
  • [Java]BOJ 2776 : ์•”๊ธฐ์™•
  • [Java]BOJ 1388 : ๋ฐ”๋‹ฅ์žฅ์‹
m.<jj
m.<jj
  • m.<jj
    JJ
    m.<jj
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (24)
      • Study (14)
        • Python (7)
        • Java (4)
        • HTML-CSS (1)
        • error (1)
        • Redis (0)
      • Algorithm (9)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    python
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
m.<jj
[Java]BOJ 2225 : ํ•ฉ๋ถ„ํ•ด
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”