1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 using namespace std; 5 using namespace std; 6 int ans = 0, sum = 0; 7 void dfs(int cur) //cur取牌的次数,sum手牌的总数 8 { 9 if (sum>13)return; 10 if (cur == 13) 11 { 12 if (sum == 13)ans++; 13 return; 14 } 15 else 16 { 17 for (int i = 0; i <=4; i++) //13种牌,每种有4张,有五种取法 取0,1,2,3,4张 18 { 19 sum += i; 20 dfs(cur + 1); 21 sum -= i; //还原 22 } 23 } 24 } 25 int main() 26 { 27 dfs(0); 28 cout<<ans<<endl; 29 return 0; 30 }
1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int a[13],cnt=0; //a[13] 代表i+1点数牌的张数 6 for(a[0]=0;a[0]<=4;a[0]++) { 7 for(a[1]=0;a[1]<=4;a[1]++) { 8 for(a[2]=0;a[2]<=4;a[2]++) { 9 for(a[3]=0;a[3]<=4;a[3]++) { 10 for(a[4]=0;a[4]<=4;a[4]++) { 11 for(a[5]=0;a[5]<=4;a[5]++) { 12 for(a[6]=0;a[6]<=4;a[6]++) { 13 for(a[7]=0;a[7]<=4;a[7]++) { 14 for(a[8]=0;a[8]<=4;a[8]++) { 15 for(a[9]=0;a[9]<=4;a[9]++) { 16 for(a[10]=0;a[10]<=4;a[10]++) { 17 for(a[11]=0;a[11]<=4;a[11]++) { 18 for(a[12]=0;a[12]<=4;a[12]++) { 19 if(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]+a[10]+a[11]+a[12]==13) { 20 cnt ++; 21 } 22 } 23 } 24 } 25 } 26 } 27 } 28 } 29 } 30 } 31 } 32 } 33 } 34 } 35 cout << cnt << endl; 36 return 0; 37 }
原文:https://www.cnblogs.com/NoWhiteBut/p/12800699.html