Advertisement
Saleh127

UVA 12442

Jun 22nd, 2021
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define test int t; cin>>t; for(int cs=1;cs<=t;cs++)
  5. ll g[200000],a[200000],ans=0;
  6. bool v[200000];
  7. ll dfs(ll u)
  8. {
  9. v[u]=1;
  10. ll in=g[u];
  11. if(v[in]==0)
  12. {
  13. ans++;
  14. dfs(in);
  15. }
  16. v[u]=0;
  17. a[u]=ans;
  18. return ans;
  19. }
  20.  
  21. int main()
  22. {
  23. ios_base::sync_with_stdio(0);
  24. cin.tie(0);cout.tie(0);
  25.  
  26. test
  27. {
  28. ll n,m,i,j,k,l=0;
  29. cin>>n;
  30. for(i=0;i<n;i++)
  31. {
  32. cin>>j>>k;
  33. g[j]=k;
  34. }
  35. memset(a,0,sizeof a);
  36. memset(v,0,sizeof v);
  37. for(i=1;i<=n;i++)
  38. {
  39. if(a[i]==0)
  40. {
  41. dfs(i);
  42. a[i]=ans;
  43. }
  44. if(ans>l)
  45. {
  46. l=ans;
  47. k=i;
  48. }
  49. ans=0;
  50.  
  51. }
  52. cout<<"Case "<<cs<<": "<<k<<endl;
  53. }
  54.  
  55. return 0;
  56. }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement