http://acm.hdu.edu.cn/showproblem.php?pid=1284

dp,转移方程自行yy

View Code
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int dp[10][40000];
int main()
{
int n;
dp[0][0]=1;
for(int i=1;i<4;i++)
for(int j=0;j<32768;j++)
dp[i][j]=dp[i-1][j]+dp[i][j-i];
while(~scanf("%d",&n))
printf("%d\n",dp[3][n]);
return 0;
}