Solution
按题意模拟即可。
但是一个坑点是,答案加 $1$。
还有,计算过程中,$a_i$ 的值不会改变,要另开变量存值。
Code
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <string>
#include <cstring>
#include <cctype>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <map>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int inf = 0x3f3f3f3f;
#define elif else if
#define il inline
int n, a[105];
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= n; i++)
{
int ans = 1, tmp = a[i];
while (tmp != i)
tmp = a[tmp], ans++;
cout << ans << " ";
}
cout << endl;
return 0;
}