문제풀이(Problem Solving)

백준, BOJ, 2225번, 합분해: C++ [CPP]

게임이 더 좋아 2021. 9. 13. 13:28
반응형
728x170

어렵지 않지만..

헷갈렸다.

행과 열을 바꿔서 해버렸따..

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

 


 

#나의 풀이

#include <iostream>
#define MAX 1000000000
using namespace std;

int N, K;

long long dp[201][201];
// N, K



int main() {
    int i, j, k;
    cin >> N >> K;

    //하나를 선택할 때는 무조건 하나를 선택함.
    for (i = 0; i <1; i++) {
        for (j = 0; j <= 200; j++) {
            dp[i][j] = 1;
        }
    }


    
    //200까지 dp 테이블 채우기
    for (i = 1; i <= 200; i++) {
        for (j = 1; j <= 200; j++) {
            
            //해당 n,k는 (n-1,k-1),(n-2,k-1) .... (1,k-1) 로 쪼개짐.
            for (k = i; k >= 0; k--) {
                dp[i][j] += dp[k][j-1];
                dp[i][j] %= MAX;
            }
        }
    }


    cout << dp[N][K];

}

 

쉽게 다시 말하자면..

표를 만들어보자

 

 

 

바로 풀었다..

하지만 ㅋㅋㅋ 행과 열을 반대로 해놔서... 왜 안되지?? 이러면서 시간끌렸다..ㅠ

 

728x90
반응형
그리드형