小猴编程周赛C++ | 2022年春第13周T2毕业照

学习C++从娃娃抓起!记录下在学而思小猴编程学习过程中的题目,记录每一个瞬间。侵权即删,谢谢支持!

附上汇总贴:小猴编程C++ | 汇总-CSDN博客


【题目描述】

又到了一年毕业季,学校里到处都是拍毕业照的人,小猴已经和各种朋友拍了一上午,现在到了班级合影的时间了。

小猴班里一共有N名同学,现在站成一排,其中从左往右数第i个人的身高为 h i h_i hi,但是现在的队伍看着太难看了,我们说一个在好看的队伍中,每个人的身高满足 h 1 ≤ h 2 ≤ ⋯ ≤ h t − 1 ≤ h t , h t + 1 ≥ ⋯ ≥ h n − 1 ≥ h n h_1\le h_2\le \dots \le h_{t-1}\le h_t,h_{t+1}\ge \dots \ge h_{n-1}\ge h_n h1h2ht1ht,ht+1hn1hn,其中 h 1 , h 2 , … , h t h_1,h_2,\dots,h_t h1,h2,,ht均为奇数, h t + 1 , h t + 2 , … , h n h_{t+1},h_{t+2},\dots,h_n ht+1,ht+2,,hn均为偶数。现在小猴想要让拍照的队伍变得好看一些,你能帮他算一算最后的队伍是什么样的么?

【输入】

第一行一个正整数N,表示同学的个数;

第二行N个正整数 h 1 , h 2 , … , h N h_1,h_2,\dots,h_N h1,h2,,hN,表示每个同学的身高。

【输出】

一行用空格隔开的N个正整数,表示整理后队伍的身高。

【输入样例】

5
160 175 138 174 137

【输出样例】

137 175 174 160 138

【代码详解】

#include <bits/stdc++.h>
using namespace std;
int h[100010];
bool cmp(int x, int y)
{
    if (x%2==1 && y%2==1) return x < y;
    if (x%2==0 && y%2==0) return x > y;
    return x%2 > y%2;  // 1>0
}
int main()
{
    int n;
    cin >> n;
    for (int i=1; i<=n; i++) {
        cin >> h[i];
    }
    sort(h+1, h+n+1, cmp);
    for (int i=1; i<=n; i++) {
        cout << h[i] << " ";
    }
    return 0;
}

【运行结果】

5
160 175 138 174 137
137 175 174 160 138
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值