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 小时前
C++ 中函数对象的形式概述
开发语言·c++
Shan12059 小时前
C++中函数对象之重载 operator()
开发语言·c++·算法
djarmy9 小时前
一级函数头地址指针,(*p_func)的函数头的返回值,(*p_func)的函数头的参数列表
c++
小明同学019 小时前
C++后端项目:统一大模型接入 SDK(一)
linux·c++·chatgpt
林夕079 小时前
Qt 6.x 新特性概览:从 Qt 5 到 Qt 6 的升级之路
c++·qt6·跨平台开发
basketball61610 小时前
C++ 强制类型转换:从 C 风格到 C++ 四大金刚
java·c语言·c++
无限进步_10 小时前
C++11概览与统一初始化
开发语言·c++
吃着火锅x唱着歌11 小时前
深度探索C++对象模型 学习笔记 第五章 构造、解构、拷贝语意学(1)
c++·笔记·学习
承渊政道11 小时前
【贪心算法】(经典实战应用解析(五):单调递增的数字、坏了的计算器、合并区间、⽆重叠区间、⽤最少数量的箭引爆⽓球)
数据结构·c++·leetcode·贪心算法·排序算法·动态规划·哈希算法
Brilliantwxx11 小时前
【C++】深度剖析 · 继承 (虚基表+虚函数表)
开发语言·c++