2015-年蓝桥杯C-(A组)赛题-dfs-牌型种数

牌型种数


小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?


请填写该整数,不要填写任何多余的内容或说明文字。

#include<stdio.h>
int b[14]={0};
//int a[14]={0};
int sum=0;
void dfs(int n,int k){
	if(n>13){
		sum=sum+1;
		/*for(int j=1;j<=13;j++){
			printf("%d ",a[j]);
		}
		printf("\n");*/ 
		return;
	} 
	for(int i=k;i<=13;i++){
		if(b[i]<=3){
		  //a[n]=i;
		  b[i]++;
		  dfs(n+1,i);
		  b[i]--;	
		 // a[n]=0;
		}	
	}
}
int main(){
	dfs(1,1);
	
	printf("%d",sum);
}

猜你喜欢

转载自blog.csdn.net/qq_34243930/article/details/79720144