比赛 |
H大佬的水题争霸赛 |
评测结果 |
AAAAAAAAAA |
题目名称 |
石子游戏 |
最终得分 |
100 |
用户昵称 |
sdzwyq |
运行时间 |
0.015 s |
代码语言 |
C++ |
内存使用 |
0.51 MiB |
提交时间 |
2018-08-04 16:19:56 |
显示代码纯文本
#define il inline
#define ri register int
#include<cstdio>
#include<iostream>
#include<cstdlib>
using namespace std;
il int re(){
ri x=0,w=1;register char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
return x*w;
}
int n,a[40000];
bool vis[40000];
il void Print(){
a[(1<<n)+1]=0;
for(ri i=1;i<=(1<<n)+1;i++){
for(ri j=0;j<n;j++)
if(a[i]&(1<<j))putchar('X');
else putchar('O');
puts("");
}
}
void dfs(ri S,ri step){
if(vis[S])return;vis[S]=1;a[step]=S;
if(step==(1<<n)){Print();exit(0);}
for(ri i=0;i<n;i++){
if(S&(1<<i))dfs(S^(1<<i),step+1);
else dfs(S|(1<<i),step+1);
}
}
int main(){
freopen("rocksa.in","r",stdin);
freopen("rocksa.out","w",stdout);
n=re();
dfs(0,1);
return 0;
}