本文主要是介绍【秋招笔试题】讨厌冒泡排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题解:免费的操作是分别在奇偶下标进行排序,收费的操作会改变他们下标的奇偶性,那么直接统计在排序后有多少元素的下标发生变化了即可。
#include <iostream>
#include <vector>
#include <algorithm>
#include "map"
using namespace std;
#define int long long
map<int,int> mp;
signed main() {std::ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);int n;cin >> n;vector<int> arr(n);for (int i = 0; i < n; i++) {cin >> arr[i];mp[arr[i]] = (i & 1);}sort(arr.begin(),arr.end());int res = 0;for (int i = 0; i < n; ++i) {res += (i & 1) ^ (mp[arr[i]]);}cout << res / 2;}
这篇关于【秋招笔试题】讨厌冒泡排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!