Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>using namespace std;int gcd(int a, int b) {int buf;while (b){buf = b;b = a % b;a = buf;}return a;}int lcm(int a,int b) {return a/gcd(a,b)*b;}int main(){int N;int a[110];cin >> N;for (int i = 1; i <= N; i++)cin >> a[i];int ans = 1,p,len;for (int i = 1; i <= N; i++){p = a[i];len = 1;while (p != i){p = a[p];len++;}ans = lcm(len, ans);}cout << ans << endl;