Advertisement
Guest User

Untitled

a guest
May 24th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream fin("ff.in");
  5. ofstream fout("ff.out");
  6.  
  7. int n,t[101],p[101], N[101];
  8. void citire()
  9. {
  10. fin>>n;
  11. for(int i=1;i<=n;i++)
  12. fin>>t[i], p[t[i]]=1;
  13. }
  14. void frunze()
  15. {
  16. for(int i=1;i<=n;i++)
  17. {
  18. if(!p[i]) fout<<i<<" ";
  19. }
  20. fout<<endl;
  21. }
  22.  
  23. void dfs(int x,int &k)
  24. {
  25. k++;
  26. for(int i=1;i<=n;i++)
  27. if(t[x]==i)
  28. dfs(i,k);
  29. }
  30.  
  31.  
  32.  
  33. int main()
  34. {
  35. citire();
  36. frunze();
  37. int kmax=0;
  38. for(int i=1;i<=n;i++)
  39. {
  40. int k=0;
  41. if(p[i]==0) dfs(i,k), N[i]=k;
  42. if(k>kmax) kmax=k;
  43.  
  44. }
  45. for(int i=1;i<=n;i++)
  46. if(N[i]==kmax) fout<<i<<" ";
  47.  
  48.  
  49.  
  50.  
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement