Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define int long long
- using namespace std;
- int32_t main() {
- int q; cin >> q;
- while(q--) {
- int n; cin >> n; vector<int> p(n);
- for (int i = 0; i < n; i++) {
- cin >> p[i];
- p[i]--;
- }
- vector<int> ans(n, -1);
- for (int i = 0; i < n; i++)
- if (ans[i] == -1) {
- int j = i, tmp = 0;
- while (p[j] != i) {
- j = p[j];
- tmp++;
- }
- ans[i] = tmp; j = i;
- while (p[j] != i) {
- j = p[j];
- ans[j] = tmp;
- }
- }
- for (int i = 0; i < n; i++)
- cout << ans[i] + 1 << " ";
- cout << "\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement