GESP2025年6月认证C++四级( 第三部分编程题(2)排序)

参考程序:

cpp 复制代码
#include <cstdio>
#include <algorithm>
#include <vector>
#include <iostream>
using namespace std;

int main() {
    int n, ans = 0;

    // 读取学生人数
    scanf("%d", &n);

    // 用 vector 存储每个学生的身高和体重(h, w)
    vector<pair<int, int>> a(n);
    for (int i = 0; i < n; i++)
        scanf("%d%d", &a[i].first, &a[i].second);  // 读入每个学生的 h 和 w

    // 枚举所有 i < j 的学生对
    for (int i = 0; i < n; i++)
        for (int j = i + 1; j < n; j++)
            // 如果 a[i] < a[j],说明 i 应该排在 j 的后面
            // 但现在在前面,表示出现了"逆序对",需要一次交换
            if (a[i] < a[j])
                ans++;

    // 输出最少交换次数
    cout << ans << '\n';
    return 0;
}
相关推荐
Pointer Pursuit2 小时前
C++11特性(二)
前端·c++·算法
tudousisi2223 小时前
CSP 第3题训练 Day 5|CSP202509C HTTP 头信息|Blog A
c++
闻缺陷则喜何志丹3 小时前
【动态规划】P10726 [GESP202406 八级] 空间跳跃|普及+
c++·算法·动态规划·洛谷
Chester_19994 小时前
CSP202312C.树上搜索
开发语言·数据结构·c++·蓝桥杯·stl
见叶之秋5 小时前
【C++】String类的使用(含模拟实现)
java·开发语言·c++
wuminyu5 小时前
Linux内核线程调度与虚拟线程调度机制系统级深度剖析
java·linux·c语言·jvm·c++
xxwxx__7 小时前
深入理解 C++ 继承:从基础语法到底层原理全解析
c++
键盘会跳舞7 小时前
【C++多线程】多线程性能调优:伪共享、缓存行对齐与吞吐优化
c++·多线程·多线程调优
学习星球7 小时前
编辑距离——二维 DP 的“最小操作“艺术
c++·leetcode·java-consul
OPEN-F7 小时前
ROS2系列教程:tf2坐标变换详解(C++/Python)
开发语言·c++·python