比赛 |
20191218 |
评测结果 |
WWWWWWWWWW |
题目名称 |
石子游戏 |
最终得分 |
0 |
用户昵称 |
fmq03 |
运行时间 |
0.105 s |
代码语言 |
C++ |
内存使用 |
2.73 MiB |
提交时间 |
2019-12-18 20:31:12 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<string>
#include<cmath>
using namespace std;
int n;
//int arr[17]={0};
//void digui(int knum,bool order){
// if(knum==0){
// string tmpstr="";
// for(int i=n;i>0;--i){
// if(arr[i]==0){
// tmpstr+="0";
// }else{
// tmpstr+="X";
// }
// }
// cout<<tmpstr<<endl;
// }else{
// if(arr[knum+1]==0){
// if(order)arr[knum]=0;else arr[knum]=1;
// order=true;
// digui(knum-1,order);
// }else {
// if(order)arr[knum]=1;else arr[knum]=0;
// order=false;
// digui(knum-1,order);
// }
// }
// return;
//}
int main(){
freopen("rocksa.in","r",stdin);
freopen("rocksa.out","w",stdout);
cin>>n;
long long num=pow(2,n);
for(unsigned long long j=0;j<num;++j){
unsigned long long k=j;
bool isturn =true;
string str="";
for(int i=n;i>0;--i){
unsigned long long tmp=pow(2,i-1);
// cout<<tmp<<endl;
if(k<tmp){
if(isturn){
str+='0';
}else{
str+='X';
}
isturn =true;
}else{
if(isturn){
str+='X';
}else{
str+='0';
}
isturn=false;
k-=tmp;
}
}
cout<<str<<endl;
}
string tmp="";
for(int i=1;i<=n;++i){
tmp+='0';
}
cout<<tmp<<endl;
return 0;
}