1
2
已采纳
注意,这里有一个巨大大大大大大大大的坑,我也掉过,

每一个字母后面有一个空格,重要的事说三遍:空个空格空格!!!

望采纳,谢谢。

黄俊博在2018-01-28 19:04:06追加了内容
也许,楼下的人说的也有对的地方,我只是说一下输出格式,这样例太坑了,我试了1小时。
黄俊博在2018-01-29 14:22:34追加了内容
算了,核心来了。
if(t>n)
{
total++;
输出;
return ;
}
if(t>3)
{
for(char i='A';i<='C';i++)
{
if(a[t-2]!=i || a[t-3]!=a[t-1])
{
a[t]=i;
搜索
}
}
}
else
{
for(char i='A';i<='C';i++)
{
a[t]=i;
搜索
}
}
}
3
2
search(int t) {
if(t>n) {
print;
return;
}
for (i='a'; i<='c'; i++) {
if (i != result[t-2]) || (result[t-1] != result[t-3]) {
result[t] := i;
search(t+1);
}
}
}
伪代码,思路大体是这样
1
0
0
0
0
0
0


