'''
[编程题] 暗黑的字符串
时间限制:1秒
空间限制:32768K
一个只包含'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
输出例子1:
9 21
'''
'''
解题思路:找规律
我们先找出n=1,2,3时满足条件的暗黑字符串数,根据这些数字推得n=4,5,6...等等时候的情况
因为如果一个字符串满足暗黑字符串的要求,那么该字符串增加一位是否仍满足要求只需要考察最后两个字母的组合情况
任意两个字母组合,一个有9种情况,AA,AB,AC,BA,BB,BC,CA,CB,CC(即n=2时的暗黑数列)
当n=3时候,暗黑数列有21种,在21种中最后两位的情况也一定在AA,AB,AC,BA,BB,BC,CA,CB,CC这九种中,具体个数的分布情况如下表:
n 2 3 4 5
AA 1 3 7 17
AB 1 2 5 12
AC 1 2 5 12
BA 1 2 5 12
BB 1 3 7 17
BC 1 2 5 12
CA 1 2 5 12
CB 1 2 5 12
CC 1 3 7 17
根据表中数据,我们可以知道:以AA,AB,AC,BA,BB,BC,CA,CB,CC结尾的暗黑序列各1个(n=2),
可以衍生出以AA,AB,AC,BA,BB,BC,CA,CB,CC结尾的暗黑序列3,2,2,2,3,2,2,2,3个(n=3),
如果n>3,那么上述的暗黑序列可以继续衍生,
衍生出AA,AB,AC,BA,BB,BC,CA,CB,CC结尾的暗黑序列2*2+1=5,2*2+1=5,2*3+1=7,2*2+1=5,2*3+1=7,2*2+1=5,2*2+1=5,2*2+1=5,2*3+1=7个(n=4)
继续衍生 5*2+2=12,5*2+2=12,5*3+2=17,5*2+2=12,5*3+2=17,5*2+2=12,5*2+2=12,5*2+2=12,5*3+2=17...
规律已经出现了,找到规律后用代码表示出来即可
'''
'''
代码运行结果:
答案正确:恭喜!您提交的程序通过了所有的测试用例
[编程题] 暗黑的字符串
时间限制:1秒
空间限制:32768K
一个只包含'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
输出例子1:
9 21
'''
'''
解题思路:找规律
我们先找出n=1,2,3时满足条件的暗黑字符串数,根据这些数字推得n=4,5,6...等等时候的情况
因为如果一个字符串满足暗黑字符串的要求,那么该字符串增加一位是否仍满足要求只需要考察最后两个字母的组合情况
任意两个字母组合,一个有9种情况,AA,AB,AC,BA,BB,BC,CA,CB,CC(即n=2时的暗黑数列)
当n=3时候,暗黑数列有21种,在21种中最后两位的情况也一定在AA,AB,AC,BA,BB,BC,CA,CB,CC这九种中,具体个数的分布情况如下表:
n 2 3 4 5
AA 1 3 7 17
AB 1 2 5 12
AC 1 2 5 12
BA 1 2 5 12
BB 1 3 7 17
BC 1 2 5 12
CA 1 2 5 12
CB 1 2 5 12
CC 1 3 7 17
根据表中数据,我们可以知道:以AA,AB,AC,BA,BB,BC,CA,CB,CC结尾的暗黑序列各1个(n=2),
可以衍生出以AA,AB,AC,BA,BB,BC,CA,CB,CC结尾的暗黑序列3,2,2,2,3,2,2,2,3个(n=3),
如果n>3,那么上述的暗黑序列可以继续衍生,
衍生出AA,AB,AC,BA,BB,BC,CA,CB,CC结尾的暗黑序列2*2+1=5,2*2+1=5,2*3+1=7,2*2+1=5,2*3+1=7,2*2+1=5,2*2+1=5,2*2+1=5,2*3+1=7个(n=4)
继续衍生 5*2+2=12,5*2+2=12,5*3+2=17,5*2+2=12,5*3+2=17,5*2+2=12,5*2+2=12,5*2+2=12,5*3+2=17...
规律已经出现了,找到规律后用代码表示出来即可
'''
'''
代码运行结果:
答案正确:恭喜!您提交的程序通过了所有的测试用例
'''
n = int(input())
if n == 1:
print(3)
elif n == 2:
print(9)
else:
first = 1
second = 2
for i in range(n-3):
temp = second * 2 + first
first = second
second = temp
print(second*9+first*3)