问题描述:
从三个元素的集合[A,B,C]中选取元素生成一个N 个字符组成的序列,使得没有两个相邻的子序列(子序列长度=2)相同,例:N=5 时ABCBA 是合格的,而序列ABCBC 与ABABC 是不合格的,因为其中子序列BC,AB 是相同的。
输入N(1<=N<=12),求出满足条件的N 个字符的所有序列和其总数。
输入样例:
4
输出样例:
72
这道题刚开始我想的是dp,而且写出来后当 n == 4 的时候也确实是72,结果交上去就GG了。每一个测试点数都大了一些。调试了半天还是没调出来。
所以这里就先讲一下正解吧。因为数据范围才是1到12,所以比较暴力的算法就能过,暴力的算法就是搜索了,作为一个oier,应该有这种数据的敏感性。