emm
一开始并没有get到点
水了一天
现在还在水博客emm
颓废
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; long long vis[2050],ans[2050],n,t; int dfs(int x,int k) { if(vis[x])return 0; if(k==t)return 1; vis[x]=1;ans[k]=x&1; if(dfs((x<<1)&(t-1),k+1))return 1; if(dfs((x<<1|1)&(t-1),k+1)) return 1; vis[x]=0; return 0; } int main() { scanf("%lld",&n); t=1<<n; printf("%lld ",t); dfs(0,1); for(int i=1;i<=n-1;i++)printf("0"); for(int i=1;i<=t-n+1;i++)printf("%lld",ans[i]); return 0; }