Codeforces Round 944 (Div. 4) |
---|
Закончено |
Вам дан массив $$$a$$$, состоящий из $$$n$$$ неотрицательных целых чисел.
Вы можете поменять местами элементы на позициях $$$i$$$ и $$$j$$$, если $$$a_i~\mathsf{XOR}~a_j < 4$$$, где $$$\mathsf{XOR}$$$ — это побитовая операция XOR.
Найдите лексикографически наименьший массив, который можно получить любым количеством обменов.
Массив $$$x$$$ лексикографически меньше массива $$$y$$$, если на первой позиции, где $$$x$$$ и $$$y$$$ отличаются, $$$x_i < y_i$$$.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора содержит одно целое число $$$n$$$ ($$$1 \leq n \leq 2\cdot10^5$$$) — длина массива.
Вторая строка каждого набора содержит $$$n$$$ целых чисел $$$a_i$$$ ($$$0 \leq a_i \leq 10^9$$$) — элементы массива.
Гарантируется, что сумма $$$n$$$ по всем наборам не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите $$$n$$$ целых чисел — лексикографически наименьший массив, который можно получить любым количеством обменов.
441 0 3 252 7 1 5 681 2 1 2 1 2 1 2416 4 1 64
0 1 2 3 1 5 2 6 7 1 1 1 1 2 2 2 2 16 4 1 64
В первом примере вы можете поменять местами любые два элемента, поэтому мы можем получить отсортированный массив.
Во втором примере вы можете поменять местами $$$2$$$ и $$$1$$$ (их $$$\mathsf{XOR}$$$ равен $$$3$$$), $$$7$$$ и $$$5$$$ (их $$$\mathsf{XOR}$$$ равен $$$2$$$), и $$$7$$$ и $$$6$$$ (их $$$\mathsf{XOR}$$$ равен $$$1$$$), чтобы получить лексикографически наименьший массив.
Название |
---|