컴파일러 차이인지는 모르겠지만 예제 입력도 안 돌아갑니다.
11057번 - 오르막 수
답이 왜 나오는지도 의문이네요 정말..
#include<iostream>
int n;
int dp[1001][10];
using namespace std;
int dfs(int num, int depth) {
int res = 0;
if (dp[n - depth][num] != 0)
return dp[n - depth][num];
else if (depth == n) {
dp[n - depth][num] = 1;
return dp[n - depth][num];
}
for (int i = num; i <= 9; i++) {
res += dfs(i, depth + 1) % 10007;
}
dp[n - depth][num] = res % 10007;
return dp[n - depth][num];
}
int main() {
cin >> n;
dfs(0, 0);
cout << dp[n][0] << endl;
}
이렇게 해서 고쳤습니다.
댓글을 작성하려면 로그인해야 합니다.
superl3 6년 전
값 제대로 나오고 소스도 문제없이 짠 것 같은데 뭐가 문제일까요.. 부탁드립니다 ㅜㅜ
너무 자신감이 떨어지네요