코드
#include <iostream>
using namespace std;
typedef long long ll;
ll n,m, a[1003][1003];
int main() {
cin >> n >> m;
for(int i = 1; i < n + 1; i++) {
a[i][1] = 1;
}
for(int i = 1; i < m + 1; i++) {
a[1][i] = 1;
}
for(int i = 2; i < n + 1; i++) {
for(int j = 2; j < m + 1; j++) {
a[i][j] = (a[i - 1][j] + a[i - 1][j - 1] + a[i][j - 1])%1000000007;
}
}
cout << a[n][m] << '\n';
return 0;
}
왼쪽에서 오는 경우, 오른쪽에서 오는 경우, 대각선에서 오는 경우를 더해주면 된다.
'백준' 카테고리의 다른 글
[백준] 1922번 네트워크 연결 C++ 코드 (0) | 2024.07.28 |
---|---|
[백준] 1788번 피보나치 수의 확장 C++ 코드 (0) | 2024.07.28 |
[백준] 19947번 투자의 귀재 배주형 C++ 코드 (0) | 2024.07.28 |
[백준] 13699번 점화식 C++ 코드 (0) | 2024.07.27 |
[백준] 9656번 돌 게임 2 C++ 코드 (0) | 2024.07.27 |