题目-逆置换 (51nod.com)https://www.51nod.com/Challenge/Problem.html#problemId=2129pair 排序
引用:C++ pair的基本用法及sort排序总结(整理) - ジャスミン - 博客园 (cnblogs.com)
pair应用:
pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first,second 因为是使用struct不是class,所以可以直接使用pair的成员变量。
本题主要用pair的排序操作
#include<iostream>
#include<algorithm>
using namespace std;
int n;
const int N = 1e5 + 10;
typedef pair<int, int> PII;
PII a[N];
int main()
{
cin >> n;
for(int i = 1; i <= n; i ++)
{
int x; cin >> x; a[i].first = x, a[i].second = i;// first 是数, second 是坐标
}
sort(a + 1, a + n + 1); // sort 排序
cout << n << endl;
for(int i = 1; i <=n; i ++) cout << a[i].second << endl;
}