//我又来水博客啦

1. 题目

传送门= ̄ω ̄=

2. 题解

状态压缩、搜索。
具体解释见 https://www.mina.moe/?p=362

代码:

#include <bits/stdc++.h>
using namespace std;
int n,ans,w[15],wcnt;
void dfs(int m,int a,int b,int c)
{
    if(m>n)
    {
        if(wcnt<3)
        {
            for(int i=1;i<=n;i++)printf("%d ",w[i]);
            wcnt++,printf("\n");
        }
        ans++;return;
    }
    for(int i=1,j=2;i<=n;i++,j<<=1)
        if((a&j)==0&&(b&j)==0&&(c&j)==0)
            w[m]=i,dfs(m+1,(a|j),(b|j)<<1,(c|j)>>1);
}
int main()
{
    scanf("%d",&n),dfs(1,0,0,0),printf("%d\n",ans);
    return 0;
} 
分类: 文章

XZYQvQ

炒鸡辣鸡的制杖蒟蒻一枚QvQ

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注