Submission #15219

#TimeUsernameProblemLanguageResultExecution timeMemory
15219skeksk91분배 (kriii3_Q)C++98
24 / 24
16 ms3396 KiB
#include<stdio.h>
#include<vector>

int pow(int n, int k) {
	if (k == 0) {
		return 1;
	}
	int temp = pow(n, k / 2);
	if (k % 2 == 0) {
		return temp*temp;
	}
	return temp*temp*n;
}

std::vector<int> vec[65537];
int arr[65536];
int main() {
	int n, k;
	scanf("%d%d", &n, &k);
	int N, K;
	N = pow(2, n) - 1;
	K = pow(2, k);
	int temp = pow(2, n - k-1);
	int cnt = 0;
	for (int i = 0; i < temp; i++) {
		for (int j = 1; j <= K; j++) {
			vec[j].push_back(cnt++);
		}
		for (int j = K; j >=1; j--) {
			vec[j].push_back(cnt++);
		}
	}
	for (int i = 1; i <= K; i++) {
		for (std::vector<int>::iterator it = vec[i].begin(); it != vec[i].end(); it++) {
			printf("%d ", *it);
		}
		printf("\n");
	}

}
#Verdict Execution timeMemoryGrader output
Fetching results...