https://www.acmicpc.net/problem/15992
[난이도] Silver1
[유형] DP
[풀이]
DP[N][M] : N을 M개의 수를 이용해 만들 수 있는 경우의 수.
#include <cstdio>
#include <cstring>
int t,n,m,dp[1001][1001],mod = 1e9+9;
int main(){
scanf("%d",&t);
dp[1][1]=dp[2][1]=dp[3][1]=1;
for(int i=2;i<=1000;i++){
for(int j=1;j<=1000;j++){
for(int k=1;k<4;k++){
if(j-k>0) dp[j][i]+=dp[j-k][i-1];
dp[j][i]%=mod;
}
}
}
while(t--){
scanf("%d%d",&n,&m);
printf("%d\n",dp[n][m]);
}
}
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Silver1/15992.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Silver1] 16194 : 카드 구매하기 2 (C++) (0) | 2021.06.07 |
---|---|
[BOJ/백준][Silver1] 16195 : 1,2,3 더하기 9 (C++) (0) | 2021.06.07 |
[BOJ/백준][Bronze2] 1373 : 2진수 8진수 (Kotlin) (0) | 2021.05.18 |
[BOJ/백준][Silver1] 17087 : 숨바꼭질 6 (Kotlin) (0) | 2021.05.18 |
[BOJ/백준][Silver3] 9613 : GCD 합 (Kotlin) (0) | 2021.05.18 |