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;
}
相关推荐
一匹电信狗5 小时前
【LeetCode_21】合并两个有序链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl
2401_838472515 小时前
C++中的访问者模式
开发语言·c++·算法
郭涤生5 小时前
C++的函数是否可以做到完全覆盖Linux和windows的跨平台
linux·c++·windows
fqbqrr6 小时前
2601C++,复制超文本格式
c++
m0_561359676 小时前
基于C++的机器学习库开发
开发语言·c++·算法
2401_832402756 小时前
C++中的类型擦除技术
开发语言·c++·算法
2301_763472466 小时前
C++网络编程(Boost.Asio)
开发语言·c++·算法
轩情吖7 小时前
Qt的窗口
开发语言·c++·qt·窗口·工具栏·桌面级开发
L186924547827 小时前
无外设条件下的自动找眼V2
c++
hcnaisd27 小时前
深入理解C++内存模型
开发语言·c++·算法