Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #define nmax 1025
- using namespace std;
- int n,i,j,a[nmax][nmax];
- void fillmatrice(int a[][nmax],int ls,int cs,int n)
- {if(n==1)a[ls][cs]=1;
- else
- {int midc=(cs+((1<<n)-1))/2;
- int midl=(ls+((1<<n)-1))/2;
- a[midl][midc]=n;
- for(int i=ls;i<midc;i++)a[i][midc]=0;
- for(int i=midc+1;i<=(((1<<n)-1)/2);i++)a[i][midc]=0;
- for(int i=cs;i<midc;i++)a[midl][i]=0;
- for(int i=cs+1;i<=(((1<<n)-1)/2);i++)a[midl][i]=0;
- fillmatrice(a,ls,cs,n-1);
- fillmatrice(a,ls,midc+1,n-1);
- fillmatrice(a,midl+1,cs,n-1);
- fillmatrice(a,midl+1,midc+1,n-1);
- }
- }
- int main()
- {
- cin>>n;
- fillmatrice(a,1,1,3);
- for(i=1;i<=((1<<n)-1);i++)
- {cout<<endl;
- for(j=1;j<=((1<<n)-1);j++)cout<<a[i][j]<<" ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement