[Algorithm] - 백준 1010 다리 놓기

단순 팩토리얼로 문제를 풀 수 없음..

DP기법을 열심히 배워야겠다.

아직도 갈길이 먼 듯 ㅠㅠ

#include <iostream>
using namespace std;

int dp[31][31];

void fill_dp(int l, int r) {
for (int i = 0; i < l; i++) dp[i][0] = 1;
for (int j = 0; j < r; j++) dp[j][j] = 1;
for (int i = 1; i < l; i++) {
for (int j = 1; j < r; j++) {
dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];
}
}
}

int main() {
fill_dp(31,31);

int testCase;
cin >> testCase;

while (testCase--) {
int n, m;
cin >> n >> m;
cout << dp[m][n] << endl;
}

return 0;
}

댓글