dp
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<iostream> using namespace std; int op[10]={1,5,10,25,50}; int dp[300][300]; void fun() { int i,j,k; memset(dp,0,sizeof(dp)); dp[0][0]=1; for(j=0;j<5;j++) { for(i=1;i<=100;i++) { for(k=op[j];k<=250;k++) { dp[i][k]+=dp[i-1][k-op[j]]; } } } } int main() { int n; int i,j,k; fun(); /*for(i=0;i<=20;i++) { printf("%d %d\n",i,dp[2][i]); }*/ while(scanf("%d",&n)!=EOF) { int ret=0; for(i=0;i<=100;i++) { ret+=dp[i][n]; } printf("%d\n",ret); } return 0; }
时间: 2024-11-01 09:30:02