特殊的排序
程序员文章站
2022-06-19 11:39:30
现在给你一个长度为n的序列a,你可以根据需要执行下面的操作任意次。对于任意两个数字ai和aj,如果ai+aj的和是奇数,则可以将这两个数字进行交换。现在,我们想让排出的序列字典序最小,那么得到序列是?P.S.字典序,对于两个序列,先比较第一位,如果第一位相同,则比较第二位,第二位也相同,就比较第三位……如果所有位置都相同,则两个序列一样大。如果不同,则根据这一位上的大小,得到结果。数字大的序列比较大。输入格式第一行一个数字n,代表数字的数量。第二行n个空格间隔的整数,第i个数字代表序列中...
现在给你一个长度为n的序列a,你可以根据需要执行下面的操作任意次。
对于任意两个数字ai和aj,如果ai+aj的和是奇数,则可以将这两个数字进行交换。
现在,我们想让排出的序列字典序最小,那么得到序列是?
P.S.
字典序,对于两个序列,先比较第一位,如果第一位相同,则比较第二位,第二位也相同,就比较第三位……如果所有位置都相同,则两个序列一样大。
如果不同,则根据这一位上的大小,得到结果。数字大的序列比较大。
输入格式
第一行一个数字n,代表数字的数量。
第二行n个空格间隔的整数,第i个数字代表序列中的第i个数字ai
0 < n < 1000
0 < ai < 10000
输出格式
输出只有一行,为n个由空格间隔的整数。
样例输入
3
1 7 4
样例输出
1 4 7
#include<iostream>
#include<algorithm>
using namespace std;
int a[1005];
bool temp[2];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
temp[a[i]%2]=true;
}
if(temp[0]&&temp[1])
sort(a,a+n);
for(int i=0;i<n;i++)
cout<<a[i]<<" ";
return 0;
}
本文地址:https://blog.csdn.net/m0_51794965/article/details/110109210
上一篇: 微服务之服务监控稳定性
推荐阅读
-
二本压线的公办大学理科?接近二本线的公办大学名单(2021年参考)
-
民办专科有必要读吗学费太贵?全国比较好的民办大专有哪些?
-
javascript下搜索子字符串的的实现代码(脚本之家修正版)_javascript技巧
-
日常收集整理的JavaScript常用函数方法_javascript技巧
-
输入值/表单提交参数过滤有效防止sql注入的方法_PHP
-
固定右栏宽度, 左栏内容先出现同时自适应宽度的布局
-
老生常谈反射之Class类的使用(必看篇)
-
微博开发1客户端的http的get和post封装
-
使用Firebug对js进行断点调试的图文方法_javascript技巧
-
jQuery中关于用on代替delegate以及live的写法区别详解