#include<cstdio>
#include<cstring>
int dp[20],ans;//dp[j]表示选j张牌的种类数
int main(){
memset(dp,0,sizeof(int));
dp[0]=1;
for(int i=1;i<=13;i++){//A-K
for(int j=17;j>=1;j--){
for(int k=1;k<=4;k++){
if(j-k>=0) dp[j]=dp[j]+dp[j-k];
}
}
}
ans=dp[17]+2*dp[16]+dp[15];
printf("ans=%d\n",ans);
}
原文地址:http://blog.csdn.net/uestc_peterpan/article/details/43898405