https://codeforces.com/contest/1509/problem/A
시간 1초, 메모리 256MB
input :
- t (1 ≤ t ≤ 500)
- n (2 ≤ n ≤ 2000)
- a1 , a2, ..., an (1 ≤ ai ≤ 2⋅105)
output :
- For each test case, output on one line n integers representing the heights of the other members in the order, which gives the largest number of photogenic consecutive pairs. If there are multiple such orders, output any of them.
각 테스트케이스에서 photogenic consecutive pairs의 수치를 가장 크게 하는 멤버들의 키를 출력하시오. 여러가지 답이 존재한다면 아무거나 출력하시오.
조건 :
- A pair of two consecutive members u and v on a line is considered photogenic if their average height is an integer.
평균 신장이 정수인 경우에 그 수치를 photogenic이라 한다.
그러므로 두 수를 더해 나눈 것의 합이 가장 큰 경우를 만들어야 한다.
2로 나누기 때문에 정수를 유지하려면 짝수여야 하므로
짝수는 짝수끼리 홀수는 홀수끼리 더해 줘야 한다.
분류
두 배열에 저장을 한 이후에
홀수, 짝수 순서로 출력을 하도록 하였다.
import sys
t = int(sys.stdin.readline())
for _ in range(t):
n = int(sys.stdin.readline())
data = list(map(int, sys.stdin.readline().split()))
num = [[], []]
for item in data:
num[item % 2].append(item)
print(*num[0], *num[1])