博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客网 暗黑的字符串
阅读量:4170 次
发布时间:2019-05-26

本文共 598 字,大约阅读时间需要 1 分钟。

题目:暗黑字符串

题目描述

一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和'C'各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如:

BAACAACCBAAA 连续子串"CBA"中包含了'A','B','C'各一个,所以是纯净的字符串
AABBCCAABB 不存在一个长度为3的连续子串包含'A','B','C',所以是暗黑的字符串
你的任务就是计算出长度为n的字符串(只包含'A'、'B'和'C'),有多少个是暗黑的字符串。

输入描述:

输入一个整数n,表示字符串长度(1 ≤ n ≤ 30)

输出描述:

输出一个整数表示有多少个暗黑字符串

示例1

输入

2 3

输出

9 21

解析:

参考

思路是这样,不管前面是什么序列,你在第n位至少有两种填法,第n-1,n-2的字母,当第n-1,n-2字母相同时,前面就漏掉了一种填法,即加上一个f(n-2)即可。

答案:

n=int(input())nums=[0,3,9,21]if n==1:    print(nums[1])if n==2:    print(nums[2])if n==3:    print(nums[3])for i in range(4,n+1):    nums.append(2*nums[i-1]+nums[i-2])print(nums[n])

 

转载地址:http://aeyai.baihongyu.com/

你可能感兴趣的文章
db2 - 一个bigint问题
查看>>
Python 值传递和引用传递
查看>>
计算Windows下目录大小
查看>>
python web框架企业实战详解(第六期)\第三课时-css&bootstrap
查看>>
python web框架企业实战详解(第六期)\第三课时-ajax&jquery&webpy
查看>>
python web框架企业实战详解(第六期)\第二课时-pickle&__eq__
查看>>
python web框架企业实战详解(第六期)\第一课时-sorted&if&for
查看>>
python web框架企业实战详解(第六期)\第四课时-webpy&django
查看>>
db2 - DETACH & ATTACH PARTITION
查看>>
How is map() implemented internally in Python?
查看>>
导出所有DB2存储过程的四种方法
查看>>
py - understanding zip function
查看>>
DB2 LOAD 工具使用技巧集合
查看>>
db2 - Partitioning on Multiple Columns
查看>>
db2 - 如何在shell中获取存储过程OUT型参数的返回值(awk)
查看>>
RANK() OVER(PARTITION BY deptno ORDER BY empno)
查看>>
Shell开发的一些技巧和经验
查看>>
C++内存问题(很多公司面试的题目,值得一看,看懂了别忘了告诉我)
查看>>
VBS递归遍历文件夹
查看>>
JCSetter.vbs(Java CLASSPATH Setter)
查看>>