Advertisement
Guest User

obrazy i pokoje

a guest
May 16th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.49 KB | None | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int d;
  8. cin>>d;
  9. for (int a = 0; a < d; a++)
  10. {
  11. int s[10001];
  12. int c[10001];
  13. int t[10001];
  14. int l,z,n,d;
  15. l=0;
  16. cin>>n;
  17. for(int i=1;i<=n;i++)
  18. {
  19. cin>>t[i];
  20. s[i]=0;
  21. c[i]=0;
  22. }
  23. for(int i=1;i<=n;i++)
  24. {
  25. z=i;
  26. for(int j=1;!s[z];j++)
  27. {
  28. s[z]=i;
  29. z=t[z];
  30. }
  31. if(s[z]==i)
  32. while(!c[z])
  33. {
  34. c[z]=1;
  35. l++;
  36. z=t[z];
  37. }
  38. }
  39. cout<< l << " ";
  40. }
  41. return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement