Submission #15192

#TimeUsernameProblemLanguageResultExecution timeMemory
15192hodduc분배 (kriii3_Q)C++98
24 / 24
11 ms1596 KiB
#include<stdio.h>
int N, K;
long long n[18];
int vn[131072];
int main()
{
        n[1] = 1;
        for(long long i = 2, x = 2; i < 17; i++, x<<=1){
                n[i] = n[i-1] * 2 + x;
        }
        for(int i = 1; i < 131072; i<<=1) {
                for(int j = 0; j < 131072; j++)
                {
                        if(j&i) vn[j]++;
                }
        }

        long long l, t, j, bn;
        scanf("%d %d", &N, &K);
        l = 1 << K;
        t = n[N] / l;
        j = 0;
        bn = (1 << N) - 1;

        if(n[N] % l != 0) {
                printf("ERR?");
                return 0;
        }

        for(int i = 0; i < l; i++)
        {
                long long tt = t;
                while(tt) {
                        printf("%lld ", j);
                        printf("%lld ", bn-j);
                        tt -= vn[j];
                        tt -= vn[bn-j];
                        j++;
                }
                printf("\n");
        }

        return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...