农夫 fj 有 N(1≤N≤100) 条编号为 1…N 的奶牛按照数组 Ai 站成一排,但是为了拍照需要要把这些奶牛按照所谓的循环圆进行调整为数组 Bi 排队。 例如,奶牛们初始是按照 A=5,1,4,2,3 排队,为了拍照最后要调整为 B=2,5,3,1,4,调整的方法是,具体循环圆如下:在初始 A 数组奶牛 5 是排在第一位的,在 B 数组是排在第 2,那么奶牛 5 就调到 A 数组的第 2 个位置取代奶牛1,奶牛1在 B 数组时排在第4个位置,那么奶牛1就调到 A 数组第4个位置取代奶牛2,奶牛2在 B 数组排在第1个位置,那么奶牛2就调到A数组第1个位置,因为第1个位置是奶牛5的起始位置,那么这个循环圆调整结束,这个循环圆由 5、1、2 组成而且他们都最终到达了最终位置。
剩下由奶牛4开始,因为奶牛4在 B 数组排在第5个位置,那么奶牛4在 A 数组调到第5个取代奶牛3,奶牛3在B数组排在第3个位置,那么奶牛3在A数组调到第3个位置,这个位置刚好是奶牛4的起始位置,这样奶牛4、3也是一个循环圆。
通过这两个循环圆,奶牛从初始的 A 数组调整到最终的 B 数组位置。
第一行:一个整数 N。
第 2…N+1行:行 i+1 代表 Ai。
第 2+N…1+2N 行:代表 Bi。
两个整数分开的整数,第一个代表有多少个循环圆,第二个代表最长循环圆的长度。如果一个循环圆都不需要做,第二个数输出 -1
。
输入:5 5 1 4 2 3 2 5 3 1 4
输出:2 3
有两个循环圆分别是:5、1、2 和 3、4。
麻烦各位大佬帮一下忙,已经调了很久还是调不出来,感激不尽,谢谢!