添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
#include <cctype> #define max ( a , b )( a > b ? a : b ) #define min ( a , b )( a < b ? a : b ) #define INF 0x3f3f3f3f using namespace std ; #define N 8000 int n , coin [ 5 ]= { 1 , 5 , 10 , 25 , 50 } ; long long dp [ N ]= { 1 } ; void init () for ( int i = 0 ; i < 5 ; i ++) for ( int j = 0 ; j < N -50 ; j ++) dp [ j + coin [ i ]] += dp [ j ]; int main () init (); while ( scanf ( "%d" ,& n )!= EOF ) printf ( "%lld \n " , dp [ n ]); return 0 ;
  • int n;
  • memset(dp,-1, sizeof (dp)); //memset只需初始一次即可,如果后边n很大,可以用之前存好的dp[][]
  • while (scanf( "%d" ,&n)!=EOF)
  • { //memset(dp,-1,sizeof(dp));//如果每次都初始化,那么每次都会从头算,会超时
  • for ( int i=0;i<=n;i++)
  • dp[i][0]=1;
  • printf( "%d\n" ,DP(n,4));
  • return 0;
  •