Advertisement
Saleh127

UVA 10685 / maximum connected components

Aug 11th, 2021
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 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. bool v[200005];
  6. vector<ll>g[20000];
  7. ll ans,mx;
  8. map<ll,string>x;
  9. map<string,ll>y;
  10.  
  11. void dfs(ll in)
  12. {
  13. if(v[in]) return;
  14. v[in]=1;
  15. ans++;
  16. for(auto dd:g[in])
  17. {
  18. if(v[dd]==0)
  19. {
  20. dfs(dd);
  21. }
  22. }
  23. }
  24.  
  25. int main()
  26. {
  27. ios_base::sync_with_stdio(0);
  28. cin.tie(0);cout.tie(0);
  29.  
  30. string a,b;
  31.  
  32. ll n,m,i,j,k,l;
  33.  
  34. while(cin>>n>>m && (n+m)>0)
  35. {
  36. for(i=1;i<=n;i++)
  37. {
  38. cin>>a;
  39. y[a]=i;
  40. }
  41.  
  42. for(i=1;i<=m;i++)
  43. {
  44. cin>>a>>b;
  45.  
  46. j=y[a];
  47. k=y[b];
  48.  
  49. g[j].push_back(k);
  50. g[k].push_back(j);
  51. }
  52.  
  53. mx=0;
  54.  
  55. for(i=1;i<=n;i++)
  56. {
  57. if(v[i]==0)
  58. {
  59. ans=0;
  60. dfs(i);
  61. mx=max(mx,ans);
  62. }
  63. }
  64.  
  65. cout<<mx<<endl;
  66.  
  67. for(i=0;i<n+4;i++)
  68. {
  69. g[i].clear();
  70. v[i]=0;
  71. }
  72. y.clear();
  73.  
  74. }
  75.  
  76.  
  77.  
  78. return 0;
  79. }
  80.  
  81.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement