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;
}
相关推荐
微笑倾城9 分钟前
Windows平台下CMake工程中使用protobuf
c++·cmake
AA陈超24 分钟前
枚举类 `ETriggerEvent`
开发语言·c++·笔记·学习·ue5
C语言小火车31 分钟前
【C++】学生管理系统设计与实现丨SQLite数据库版本
开发语言·c++
charlie1145141911 小时前
AVX 指令集系列深度介绍:领域、意义、以及 AVX AVX2 的基本用法与样例
开发语言·c++·人工智能·软件工程·并行计算·avx
曼巴UE51 小时前
UE C++ UI的折叠动画,隐藏收缩经验分享
c++·ue5
zmzb01031 小时前
C++课后习题训练记录Day53
数据结构·c++·算法
charlie1145141911 小时前
如何把 Win32 窗口“置顶”(Windows + C++)
开发语言·c++·windows·笔记·学习·软件工程
咔咔咔的1 小时前
2110. 股票平滑下跌阶段的数目
c++
SmoothSailingT1 小时前
C/C++与C#——指针的作用
开发语言·c++·c