| //https://www.acmicpc.net/problem/1010 #include <iostream> |
| using namespace std; |
| int dp[31][31]; |
| int main(){ |
| int t; |
| cin >> t; |
| while(t-->0){ |
| int n, m; |
| cin >> n >> m; |
| for(int i=1; i<=m; i++) dp[1][i]=i; |
| for(int i=2; i<=n; i++){ |
| for(int j=i; j<=m; j++){ |
| if(dp[i][j]) continue; |
| for(int k=j; k>=i; k--) |
| dp[i][j]+=dp[i-1][k-1]; |
| } |
| } |
| cout << dp[n][m] <<endl; |
| } |
| } |
'알고리즘 문제 풀이 > 1DP_과제(~180615)' 카테고리의 다른 글
| 180206_5014_스타트링크 (0) | 2018.02.06 |
|---|---|
| 180205_2589_보물섬 (0) | 2018.02.05 |
| 180202_2146_다리 만들기 (0) | 2018.02.02 |
| 180201_1037_약수 (0) | 2018.02.01 |
| 180131_7562_나이트의 이동 (0) | 2018.01.31 |