100 1500
884 188251
///题目中出现的32768的意义是2的15次方,是long(int )型变量的取值范围
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define N 1000001 int dp[N]; int main() { int n,i,j; int a[4]={1,2,3}; for(i=0;i<=32768;i++) { dp[i]=0; } dp[0]=1; for(i=0;i<=2;i++) { for(j=0;j<=32768;j++) { dp[j]=dp[j]+dp[j-a[i]]; } } while(~scanf("%d",&n)) { printf("%d\n",dp[n]); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/sh_tomorrow/article/details/47421741