- #include<stdio.h>
- int main()
- {
- int a[3] = { 1,2,5 };
- int n;
- scanf("%d", &n);
- . int c[1000] = { 0 };
- c[0] = 1;
- for (int x = 0; x < 3; x++)
-
{ -
for (int y = 1; y <= n; y++) -
{ -
if (y >= a[x]) -
{ -
c[y] += c[y - a[x]]; -
} -
} -
} -
printf("%d", c[n]); - }//典型的完全背包问题,可以运用dp来做

京公网安备 11010502036488号