Logo
(追記) (追記ここまで)

34189번 - 두 수열 만들기 스페셜 저지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)151565350.476%

문제

2ドルN$개의 정수 $x_1, x_2, \cdots, x_{2N}$이 주어진다.

다음 조건을 만족하며, $x_1, x_2, \cdots, x_{2N}$에서 중복없이 각각 $N$개를 사용하여 만들 수 있는 수열 $A = A_1, A_2, \cdots, A_N$과 수열 $B = B_1, B_2, \dots, B_N$을 출력하시오.

  • 임의의 $A_i$에 대해 $A_i \oplus x = 2^j \ (j$는 음이 아닌 정수$)$를 만족하는 $x$가 수열 $B$에 없어야 한다.
  • 임의의 $B_i$에 대해 $B_i \oplus x = 2^j \ (j$는 음이 아닌 정수$)$를 만족하는 $x$가 수열 $A$에 없어야 한다.

입력

첫째 줄에 $N$이 주어진다. $(1 \leq N \leq 2,000円)$

둘째 줄에 $x_1, x_2, \cdots, x_{2N}$이 공백으로 구분되어 주어진다. $(0 \leq x_i < 2^{20})$

입력으로 주어지는 모든 $x_i$는 서로 다르다.

출력

첫째 줄에 $A_1, A_2, \cdots, A_N$을 공백으로 구분하여 출력한다.

둘째 줄에 $B_1, B_2, \cdots, B_N$을 공백으로 구분하여 출력한다.

수열을 출력할 때 출력하는 순서는 상관없다.

만약 수열을 만들 수 있는 경우가 여러 가지라면 그중 아무거나 출력하고, 수열을 만들 수 없는 경우에는 -1을 대신 출력한다.

제한

예제 입력 1

3
1 2 6 9 11 18

예제 출력 1

2 6 18
1 9 11

예제 입력 2

3
1 2 4 9 10 12

예제 출력 2

-1

노트

$\oplus$은 Bitwise XOR을 뜻하며, 음이 아닌 두 정수 $A, B$의 $A \oplus B$는 다음과 같이 정의된다.

  • 이진법으로 생각했을 때, $A$의 2ドル^k$의 자릿수와 $B$의 2ドル^k$의 자릿수가 서로 다르면 $A \oplus B$의 2ドル^k$의 자릿수가 1ドル$이고, 같으면 $A \oplus B$의 2ドル^k$의 자릿수가 0ドル$이다. (단, $k \geq 0$)
  • 예를 들어 12ドル \oplus 10$은 12ドル = 1100_{(2)}, 10 = 1010_{(2)}$이므로 1100ドル_{(2)} \oplus 1010_{(2)} = 0110_{(2)} = 6$이다.

출처

University > 신촌지역 대학생 프로그래밍 대회 동아리 연합 > 2025 신촌지역 대학교 프로그래밍 동아리 연합 여름 대회 (SUAPC 2025 Summer) G번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /