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

站外题求解。

22 题 奶牛排队

描述

农夫有 NN (1N1001 \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

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

剩下由奶牛 44 开始,因为奶牛 44BB 数组排在第 55 个位置,那么奶牛 44AA 数组调到第 55 个取代奶牛 33,奶牛 33BB 数组排在第 33 个位置,那么奶牛 33AA 数组调到第 33 个位置,这个位置刚好是奶牛 44 的起始位置,这样奶牛 434、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
加载中...