Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define fr(i,a,b) for(ll i=a;i <= b;i++)
- #define fd(i,a,b) for(ll i=a;i >= b;i--)
- #define rep(i,n) for(ll i=0;i < n;i++)
- #define fast_io ios_base::sync_with_stdio(0);
- #define sz(x) x.size()
- int main() {
- fast_io;
- // ll t; cin >> t;
- // rep(q,t) {
- // ll n,ind; cin >> n >> ind;
- ll n; cin >> n;
- ll a[1 << n];
- fr(i,0,(1 << n)-1) a[i] = i;
- fr(i,0,n-1) {
- ll k = 0,l = k+(1 << (n-i))-1;
- while(k != (1 << n)) {
- ll mid = (k+l)/2;
- ll b[l-k+1];
- ll j = k;
- fr(p,k,mid) {
- b[p-k] = a[j];
- j += 2;
- }
- j = k+1;
- fr(p,mid+1,l) {
- b[p-k] = a[j];
- j += 2;
- }
- fr(p,0,l-k) a[p+k] = b[p];
- k += ((1 << (n-i))); l += ((1 << (n-i)));
- }
- }
- // cout << a[ind] << endl;
- fr(i,0,(1 << n)-1) cout << a[i] << " ";
- cout << endl;
- // }
- }
Add Comment
Please, Sign In to add comment