#302. 排队调整
排队调整
排队调整
题目描述
体育课上有 名同学排成一队,从前往后数第 位同学的身高为 ,体重为 。目前排成的队伍看起来参差不齐,老师希望同学们能按照身高从高到低的顺序排队,如果身高相同则按照体重从重到轻排序。在调整队伍时,每次只能交换相邻两位同学的位置。老师想知道,最少需要多少次交换操作,才能将队伍调整成目标顺序。
输入格式
第一行,一个正整数 ,表示队伍人数。
接下来 行,每行两个正整数 和 ,分别表示第 位同学的身高和体重。
输出格式
输出一行,一个整数,表示最少需要的交换次数。
样例输入
样例输入 1
5
1 60
3 70
2 80
4 55
4 50
样例输入 2
5
4 0
4 0
2 0
3 0
1 0
样例输出
样例输出 1
8
样例输出 2
1
样例解释
对于第一个样例,目标队伍顺序为:身高 且体重 的同学排在最前,接着是身高 体重 的同学,然后是身高 体重 ,身高 体重 ,最后是身高 体重 。将初始队伍中的每一位同学用其在目标队伍中的位置编号代替,初始序列变为 。通过相邻交换将该序列变为有序的最小操作次数,等于该序列的逆序对数量。序列 中的逆序对有: 与后面的 组成 对, 与后面的 组成 对, 与后面的 组成 对,共计 对。因此最少需要 次交换。
数据范围
对于所有测试点,保证 ,。