原题说了n≤7489,我交代码RE好几次,然后把最大值改成8000就过了,就离谱。而且Vjudge上的测试用例和洛谷好像互通的,反正我开7500都过不了。明明就符合原题,非要开8000才AC。
这是AC代码,你试试改成 #define MAX_N 7500 就会RE了
#include <stdio.h>
#define MAX_N 8000
#define MAX_C 5
long dp[MAX_N];
int coin[MAX_C] = {1, 5, 10, 25, 50};
int main() {
#ifdef LOCAL
freopen("i.txt", "r", stdin);
freopen("o.txt", "w", stdout);
#endif
int n, i;
dp[0] = 1L;
for (i = 0; i < MAX_C; i++) {
for (n = coin[i]; n < MAX_N; n++) {
dp[n] += dp[n - coin[i]];
}
}
while (scanf("%d", &n) != -1) {
printf("%ld\n", dp[n]);
}
return 0;
}