比赛 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;
}