给定n个A和2n个B,用这些字符拼成一个字符串,要求这个串的所有前缀和后缀B的个数始终不少于A。

(一个字符串的前缀是只从开头到某个位置为止的子串,后缀是只从某个位置到结尾的子串)。

输入格式

多组数据,每组数据只有一行,包含一个正整数n。(n<=10^17)。

输出格式

每组数据输出一行,最终结果对99991取余数的结果。

def count(n,m,ac,bc,sb):
    if(ac==n or bc==m):
        print sb;
        return 1;
    if(ac==bc):
        sb.append('b')
        tmp = count(n,m,ac,bc+1,sb);
        sb.pop()
        return tmp;
    else:
        sb.append('a');
        tmp0=count(n,m,ac+1,bc,sb);
        sb.pop();
        sb.append('b');
        tmp0 = tmp0+count(n,m,ac,bc+1,sb)
        sb.pop()
        return tmp0;

n=2
m=2*n
print count(n,m,0,0,[]);

转载于:https://www.cnblogs.com/alphablox/p/3773611.html

一个字符串排列的小算法相关推荐

  1. 汽车组装c语言排列组合算法,求一个关于排列组合的算法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include  //0->o #include #include using namespace std; template ...

  2. java 组合 遍历 算法_java编程n个集合每次从每个集合里面取出一个元素组成一个字符串列出所有组合算法...

    展开全部 import java.util.ArrayList; import java.util.List; public class XX { 62616964757a686964616fe789 ...

  3. C++确定一个字符串是否是另一个字符串的排列的算法(附完整源码)

    C++确定一个字符串是否是另一个字符串的排列的算法 C++确定一个字符串是否是另一个字符串的排列的算法完整源码(定义,实现,main函数测试) C++确定一个字符串是否是另一个字符串的排列的算法完整源 ...

  4. 算法设计 - 寻找一个字符串的重复子串LRS

    虽是读书笔记,但是如转载请注明出处 http://segmentfault.com/blog/exploring/ .. 拒绝伸手复制党 问题描述: 首先这是一个单字符串问题.子字符串 R 在字符串 ...

  5. c语言输入一段字符,C语言实现输入一个字符串后打印出该字符串中字符的所有排列...

    本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题.是一个很实用的算法技巧.分享给大家供大家参考.具体实现方法如下: 例如输入字符串abc,则输出由字符 ...

  6. java 如何将数字倒置_每日一个小算法之整数中每位上的数字进行反转 20190810

    题目要求: 给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321 示例 3: 输入: 120输出 ...

  7. 怎么判断一个字符串的最长回文子串是否在头尾_每日一道算法题,让你的头脑更活跃(寻找最长回文子串)...

    前言 最近准备把算法慢慢的捡起来,所以准备日更一道算法题目,难度自然是由简入难,所以同学们可以每天都来看看小编的更新. 日更时间定在每晚20:00,希望大家多多关注啦. 昨天就欠更了,简直就是打脸.过 ...

  8. 求得到一个字符串@“absdfasdfsdfdsafsd....”所有的排列

    //得到一个字符串@"absdfasdfsdfdsafsd...."所有的排列 length!/((相同项)!*(相同项)!)-(int )numberOfstring:(NSSt ...

  9. 用集合java字符串第一个单词_Java小程序 输入一个字符串,将每一个单词首字母大写...

    Java 小程序 01 输入一个字符串,将每一个单词首字母大写 1.首先写一个接收传入的单词,并将传入单词首字母大写.这一步比较简单,没什么好说的! private String titleCase ...

最新文章

  1. dataframe 按条件删行_根据列值删除Pandas中的DataFrame行
  2. 【算法与数据结构】汉诺塔问题Java实现
  3. java执行器是什么_java使用Executor(执行器)管理线程
  4. Cryptodome 安装
  5. (转)android四种动画
  6. xcode 写代码没有补全 提示
  7. Linux文件查询笔记
  8. FindBugs和JSR-305
  9. qt自定义控件的样式
  10. Linux 设备树知识点
  11. C# WinForm窗体上的按钮结束回车确认
  12. MATLAB人脸识别算法
  13. mysql宠物店java_javajdbc宠物商店-Mysql数据库
  14. 计算机专业夏令营英语面试范文,夏令营英语面试自我介绍
  15. 【合泰HT32火焰传感器报警】
  16. 关于华为产品生命周期
  17. java基本类型val_Java的基本数据类型
  18. 红叶倾城一键网页游戏服务端+客户端(无须安装Java)源码
  19. BP神经网络南瓜价格相关性研究与价格预测模型设计
  20. dlmalloc(四)

热门文章

  1. Android源码和内核源码的下载,编译和执行
  2. centos中安装nginx
  3. linux基础(十一)--系统初始化的简谈
  4. 基于WF4的新平台-流程模式-(6)动态串行
  5. 对系统组件化接口设计的一点看法
  6. 利用ping/ipconfig/nslookup/dig/whois简单工具测试DNS
  7. java 查询solr_java实现简单的solr查询
  8. java浮点数除以0_为什么用浮点数(或双精度)将数字除以零不会在Java中抛出java.lang.Arithmetic...
  9. ant指定servlet版本_[转载]程序开发常见错误
  10. 自动化脚本上传图片怎么办_一切都自动化后我们将怎么办?