题目解析
本题有两个难点:
- 如何快速判断两个小朋友是否为一组
- 如何调整站队,才能花费次数最少
关于1,我们可以根据第二行输入做如下处理(以用例1为例):
由于第二行输入的分组排队序列,每3个一组,因此我们只要将分组序列的各元素索引值整除3,即可得出各元素(小朋友序号)所在的分组。
即我们可以根据第二行输入,能得到一个:“序号->组号” 的映射关系。
这组映射关系,我们可以保存为一个map数组,map数组索引就是小朋友序号,map数组元素就是小朋友组号。
之后,我们再根据map的映射关系,就可以将第一行输入的初始小朋友(序号)排队顺序,映射为初始小朋友(组