题目链接:
http://codeforces.com/problemset/problem/1174/B
题意,判断两个数相加是否为奇数,为奇数就交换顺序,输出字典序最小的
AC代码:
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
typedef long long ll;
#define inf 0x3f3f3f3f
using namespace std;
ll a[100010];
int main()
{
int n;
while(~scanf("%d",&n))
{
int cnt1=0;
int cnt2=0;
for(int i=0; i<n; i++)
{
scanf("%d",&a[i]);
if(a[i]%2==0)
cnt1++;
else
cnt2++;
}
if(cnt2&&cnt1)
{
sort(a,a+n);
}
for(int i=0; i<n-1; i++)
printf("%d ",a[i]);
printf("%d\n",a[n-1]);
}
return 0;
}