首页 > 其他 > 详细

蓝桥杯--字母组串

时间:2020-02-28 23:13:39      阅读:65      评论:0      收藏:0      [点我收藏+]

问题描述:有ABC三个字母,给出每个字母的个数,问能得到多少个固定长度的串。

问题解析:这个问题很简单,使用递归,每一次可以选择ABC三个字母中的任意一个,前提是字母的个数不为0。当总长度为指定长度时,表示得到一中组合方案。

代码如下:

#include <iostream>
using namespace std;
static int number;
int dfs(int a,int b,int c,int n){
   if(a<0||b<0||c<0) return 0;
   if(n==0) return 1;
   return dfs(a-1,b,c,n-1)+dfs(a,b-1,c,n-1)+dfs(a,b,c-1,n-1);
}
int main(void){
   cout << dfs(1,1,1,2) << endl;
   cout << dfs(1,2,3,3) << endl;
   return 0;
}

 

蓝桥杯--字母组串

原文:https://www.cnblogs.com/Alice-Fourier/p/12380564.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!