不知道为啥只能过两组数据
#include<iostream>
using namespace std;
int f(int a)
{
if(a==0)return 1;
return 2*f(a-1);
}
int main()
{
int n,a[1024];
cin>>n;
for(int i=f(n);i>=1;i--){
for(int j=f(n);j>=1;j--){
if(i==1)a[j]=1;
else{
if(j==1){
a[1]=1;
}
else{
a[j]=(a[j-1]+a[j])%2;
}
}
}
for(int k=f(n);k>=1;k--){
if(k==1)printf("%d",a[k]);
else printf("%d ",a[k]);
}
printf("\n");
}
return 0;
}