首页 > 交换
头像 Kur1su
发表于 2020-05-25 21:01:07
Description 牛客幼儿园的小朋友课间操时间需要按照学号从小到大排队,但是他们太小了只能站成一列顺序却不对,现在幼儿园的阿姨需要帮忙交换小朋友的位置让他们最终有序,阿姨希望能尽快完成交换操作,问最少需要交换多少次,才能使得小朋友们从小到大排好。注意:每个小朋友的学号不同,但是未必连续,因为可 展开全文
头像 ssssxt
发表于 2020-05-25 22:23:24
将输入从小到大排序,作为正确的位置用一个seat字典储存当下每个人的位置,key为学号,value为位置遍历每个人,如果站错位置,就在seat中查找正确的人当下的位置,交换位置,并将次数加1 n = int(input()) data = [] for _ in range(n): x = 展开全文
头像 唯爱奕希依然
发表于 2020-05-27 11:57:41
链接:https://ac.nowcoder.com/acm/contest/5773/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述牛客幼儿园的小朋友课间操时间需要按照学号从小到 展开全文
头像 包海洲
发表于 2020-05-26 08:54:13
我的想法,找出每个环的边数-1,再累加起来,需要map. #include<bits/stdc++.h> using namespace std; int ans; bool cmp(int a,int b){ return a<b; } int main(){ 展开全文
头像 per_learning
发表于 2020-05-27 11:05:29
#include<bits/stdc++.h> using namespace std; int getMinSwaps(vector<int> v) { vector<int> v1(v); //将A内元素复制到B。 sort(v1.beg 展开全文