2022.1.24模拟

这题真的好坑啊,专坑我这种语文不好的

其实限制条件就一个,相邻的4个字符不能是重复相同的!!!!

剩下就是dfs求排列了

#include<cstdio>
using namespace std;
int n,vis[15],a[15],ans;
void dfs(int cur){
    if(cur == n+1){
        ans++;
        return ;
    }
    for(int i=1;i<=3;++i){
        if(i == a[cur-2] && a[cur-1] == a[cur-3] )continue;
        a[cur] = i;
        dfs(cur+1);
    }
}
int main(){
    scanf("%d",&n);
    dfs(1);
    printf("%d",ans);    
}

 

posted @ 2022-01-24 14:55  Xu_brezza  阅读(24)  评论(0编辑  收藏  举报