Submission #67322047


Source Code Expand

#include <stdio.h>

const int bit[25] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216};

void solve(int N, int P[], int ans[])
{
	int h, i, j, k;
	for (i = 0; i < bit[N]; i++) ans[i] = P[i];
	for (h = 0; h < N; h++) {
		for (k = 0; k < bit[N]; k += bit[h+1]) {
			if (ans[k] > ans[k + bit[h]]) {
				for (i = k, j = k + bit[h]; i < k + bit[h]; i++, j++) {
					ans[i] ^= ans[j];
					ans[j] ^= ans[i];
					ans[i] ^= ans[j];
				}
			}
		}
	}
}

int main()
{
	int T, i, N, P[262144], ans[262144];
	scanf("%d", &T);
	while (T--) {
		scanf("%d", &N);
		for (i = 0; i < bit[N]; i++) scanf("%d", &(P[i]));
		solve(N, P, ans);
		for (i = 0; i < bit[N]; i++) printf("%d ", ans[i]);
		printf("\n");
	}
	fflush(stdout);
	return 0;
}

Submission Info

Submission Time
Task E - Reverse 2^i
User ygussany
Language C (gcc 12.2.0)
Score 450
Code Size 866 Byte
Status AC
Exec Time 46 ms
Memory 4220 KiB

Compile Error

Main.c: In function ‘main’:
Main.c:25:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   25 |         scanf("%d", &T);
      |         ^~~~~~~~~~~~~~~
Main.c:27:17: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   27 |                 scanf("%d", &N);
      |                 ^~~~~~~~~~~~~~~
Main.c:28:46: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   28 |                 for (i = 0; i < bit[N]; i++) scanf("%d", &(P[i]));
      |                                              ^~~~~~~~~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 1
AC × 26
Set Name Test Cases
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3680 KiB
01_test_00.txt AC 1 ms 3672 KiB
01_test_01.txt AC 1 ms 3752 KiB
01_test_02.txt AC 33 ms 3608 KiB
01_test_03.txt AC 4 ms 3640 KiB
01_test_04.txt AC 36 ms 3660 KiB
01_test_05.txt AC 35 ms 3684 KiB
01_test_06.txt AC 35 ms 3752 KiB
01_test_07.txt AC 36 ms 3776 KiB
01_test_08.txt AC 40 ms 3876 KiB
01_test_09.txt AC 41 ms 3936 KiB
01_test_10.txt AC 40 ms 3904 KiB
01_test_11.txt AC 46 ms 4220 KiB
01_test_12.txt AC 42 ms 4220 KiB
01_test_13.txt AC 40 ms 4052 KiB
01_test_14.txt AC 40 ms 3668 KiB
01_test_15.txt AC 30 ms 4044 KiB
01_test_16.txt AC 32 ms 4032 KiB
01_test_17.txt AC 32 ms 4072 KiB
01_test_18.txt AC 31 ms 4044 KiB
01_test_19.txt AC 39 ms 3988 KiB
01_test_20.txt AC 39 ms 4040 KiB
01_test_21.txt AC 39 ms 4092 KiB
01_test_22.txt AC 39 ms 4036 KiB
01_test_23.txt AC 39 ms 4104 KiB
01_test_24.txt AC 38 ms 4060 KiB