A. Average Height(找相邻的数除2产生整数更多的排列)(codeforces715)

简介: A. Average Height(找相邻的数除2产生整数更多的排列)(codeforces715)

time limit per test1 second

memory limit per test256 megabytes

inputstandard input

outputstandard output

Sayaka Saeki is a member of the student council, which has n other members (excluding Sayaka). The i-th member has a height of ai millimeters.


It’s the end of the school year and Sayaka wants to take a picture of all other members of the student council. Being the hard-working and perfectionist girl as she is, she wants to arrange all the members in a line such that the amount of photogenic consecutive pairs of members is as large as possible.


A pair of two consecutive members u and v on a line is considered photogenic if their average height is an integer, i.e. (au+av)/2 is an integer.


Help Sayaka arrange the other members to maximize the number of photogenic consecutive pairs.


Input

The first line contains a single integer t (1≤t≤500) — the number of test cases.


The first line of each test case contains a single integer n (2≤n≤2000) — the number of other council members.


The second line of each test case contains n integers a1, a2, …, an (1≤ai≤2⋅105) — the heights of each of the other members in millimeters.


It is guaranteed that the sum of n over all test cases does not exceed 2000.


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.


Example


inputCopy

4

3

1 1 2

3

1 1 1

8

10 9 13 15 3 16 9 13

2

18 9


outputCopy

1 1 2

1 1 1

13 9 13 15 3 9 16 10

9 18


Note

In the first test case, there is one photogenic pair: (1,1) is photogenic, as (1+1)/2=1 is integer, while (1,2) isn’t, as (1+2)/2=1.5 isn’t integer.


题意就是产生相邻的数除2产生整数更多的排列打印出来,我们就可以想到先排偶数然后在排奇数就可以得到最优排列,


听懂了记得给个赞鼓励一下,码字不易,用爱发电。


上ac代码。

f58230e9f063709cf3167704f4efdf14.gif


有事你就q我;QQ2917366383


学习算法

 

#include<iostream>
using namespace std;
const int maxn=1e6+7;
#define  ll long long
ll a[maxn];
int main()
{
  int t;
  cin>>t;
  while(t--)
  {
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
      cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
      if(a[i]%2==1)
      cout<<a[i]<<' ';
    }
      for(int i=1;i<=n;i++)
    {
      if(a[i]%2==0)
      cout<<a[i]<<' ';
    }
  }
}
相关文章
|
6月前
【每日一题Day289】LC1749任意子数组和的绝对值的最大值 | dp
【每日一题Day289】LC1749任意子数组和的绝对值的最大值 | dp
43 0
|
6月前
|
人工智能 SDN
PTA-求3×4数组中大于等于平均值的元素的和
求3×4数组中大于等于平均值的元素的和
81 1
|
6月前
|
算法 测试技术 C#
【map】【动态规划】LeetCode2713:矩阵中严格递增的单元格数
【map】【动态规划】LeetCode2713:矩阵中严格递增的单元格数
|
算法
Light oj 1082 - Array Queries(区间最小值)
这里只要知道这种算法即可,因为数据量过大,都编译不通过,不过思想算法没有任何问题。
30 0
华为机试HJ58:输入n个整数,输出其中最小的k个
华为机试HJ58:输入n个整数,输出其中最小的k个
51nod 1277 字符串中的最大值 (后缀数组求height[i])
51nod 1277 字符串中的最大值 (后缀数组求height[i])
62 0
(二维vector)(绝对值求和等式的处理)B. Playing in a Casino
(二维vector)(绝对值求和等式的处理)B. Playing in a Casino
90 0
|
算法 索引
LeetCode每日一题——1252. 奇数值单元格的数目
给你一个 m x n 的矩阵,最开始的时候,每个单元格中的值都是 0。
87 0
LeetCode每日一题——1252. 奇数值单元格的数目
LeetCode 5340. 统计有序矩阵中的负数 Count Negative Numbers in a Sorted Matrix
LeetCode 5340. 统计有序矩阵中的负数 Count Negative Numbers in a Sorted Matrix
|
Java
一个直角三角形的两个直角边是 a,b(a≤b),其斜边是 c,且 a,b,c都是正整数。现在我们已经知道了斜边长度c,请问这个直角三角形的两个直角边的长度是什么?Java
一个直角三角形的两个直角边是 a,b(a≤b),其斜边是 c,且 a,b,c都是正整数。现在我们已经知道了斜边长度c,请问这个直角三角形的两个直角边的长度是什么?Java
426 0