问,求解,玄关
  • 板块灌水区
  • 楼主chenzhuole1
  • 当前回复8
  • 已保存回复8
  • 发布时间2025/1/23 14:06
  • 上次更新2025/1/23 16:14:06
查看原帖
问,求解,玄关
1465303
chenzhuole1楼主2025/1/23 14:06

站外题求解。

第 22 题 奶牛排队

描述

农夫有 NN (1≤N≤1001 \le N \le 100) 条编号为1..N的奶牛按照数组 AiA_i 站成一排,但是为了拍照需要要把这些奶牛按照所谓的循环圆进行调整为数组 BiB_i 排队。

例如,奶牛们初始是按照 A = 5、1、4、2、3 排队,为了拍照最后要调整为B = 2 5 3 1 4,调整的方法是,具体循环圆如下:

在初始 AA 数组奶牛 55 是排在第一位的,在B数组是排在第2,那么奶牛 55 就调到 AA 数组的第 22 个位置取代奶牛 11。

奶牛 11 在 BB 数组时排在第 44 个位置,那么奶牛1就调到 AA 数组第 44 个位置取代奶牛 22,奶牛 22 在 BB 数组排在第 11 个位置,那么奶牛 22 就调到 AA 数组第 11 个位置,因为第 11 个位置是奶牛 55 的起始位置,那么这个循环圆调整结束,这个循环圆由 5、1、25、1、2 组成而且他们都最终到达了最终位置。

剩下由奶牛 44 开始,因为奶牛 44 在 BB 数组排在第 55 个位置,那么奶牛 44 在 AA 数组调到第 55 个取代奶牛 33,奶牛 33 在 BB 数组排在第 33 个位置,那么奶牛 33 在 AA 数组调到第 33 个位置,这个位置刚好是奶牛 44 的起始位置,这样奶牛 4、34、3 也是一个循环圆。

通过这两个循环圆,奶牛从初始的 AA 数组调整到最终的 BB 数组位置。

输入

第一行:一个整数 NN

第2..N+1行:行 i+1i+1 代表 AiA_i

第2+N..1+2N行:代表 BiB_i

输出

两个整数分开的整数,第一个代表有多少个循环圆,第二个代表最长循环圆的长度。如果一个循环圆都不需要做,第二个数输出 −1-1。

和同学们调了好久都不行,求大佬解决,必关注,谢谢。

2025/1/23 14:06
加载中...