Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. /*
  6.  
  7. Bismillahir Rahmanir Rahim
  8. Problem :
  9. Problem Link :
  10. Topics :
  11. Solver : Masud Parves
  12. I Love Code More than Sharks Love Blood <3
  13. */
  14.  
  15.  
  16. #define ff first
  17. #define ss second
  18. #define pb push_back
  19. #define mp make_pair
  20. #define all(a) a.begin(), a.end()
  21.  
  22.  
  23. #define sf(a) scanf("%d",&a)
  24. #define sff(a,b) scanf("d",&a,&b)
  25. #define sfff(a,b,c) scanf("d%d",&a,&b,&c)
  26.  
  27. #define f0(i,b) for(int i=0;i<(b);i++)
  28. #define f1(i,b) for(int i=1;i<=(b);i++)
  29. #define f2(i,a,b) for(int i=(a);i<=(b);i++)
  30. #define fr(i,b,a) for(int i=(b);i>=(a);i--)
  31.  
  32. #define CIN ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL);
  33. #define mx 550
  34. #define TEST_CASE(t) for(int z=1 ; z<=t ; z++)
  35. #define PRINT_CASE printf("Case %d: ",z)
  36. #define NOT_VISITED 0
  37. #define IS_VISITED 1
  38.  
  39.  
  40.  
  41. int fx[4]= {1,-1,0,0};
  42. int fy[4]= {0,0,1,-1};
  43.  
  44.  
  45. const double PI = acos(-1.0);
  46. const double EPS = 1e-6;
  47. const int MOD = (int)1e9+7;
  48. const int maxn = (int)2e5+5;
  49.  
  50. typedef long long ll;
  51. typedef unsigned long long ull;
  52. typedef vector<int> vi;
  53. typedef pair<int, int> pii;
  54. typedef pair<ll, int> plli;
  55. typedef pair<int, ll> pill;
  56. vi node[30];
  57. bool visited[30];
  58.  
  59. void bfs(int p)
  60. {
  61. queue<int>Q;
  62. Q.push(p);
  63. visited[p]=1;
  64.  
  65. while(!Q.empty())
  66. {
  67. int u=Q.front();
  68. Q.pop();
  69.  
  70. for(int i=0; i<node[u].size() ; i++ )
  71. {
  72. int v=node[u][i];
  73.  
  74. if(visited[v]==0)
  75. {
  76. visited[v]=1;
  77. Q.push(v);
  78. }
  79. }
  80. }
  81.  
  82.  
  83. }
  84.  
  85. int main()
  86. {
  87. CIN
  88. //freopen("input.txt", "r", stdin);
  89. //freopen("output.txt", "w", stdout);
  90. int t;
  91. string s;
  92. char ch;
  93.  
  94. sf(t);
  95.  
  96. getchar();
  97.  
  98. int tmp=0;
  99. TEST_CASE(t)
  100. {
  101. if(tmp>0) cout<<endl;
  102. tmp++;
  103.  
  104. int cnt=0;
  105. cin>>ch;
  106.  
  107. int high=ch-64;
  108. getline(cin,s);
  109. while(getline(cin,s))
  110. {
  111. int u,v;
  112. if(s.length()==0)
  113. {
  114. break;
  115. }
  116. u=s[0]-64;
  117. v=s[1]-64;
  118.  
  119. node[u].push_back(v);
  120. node[v].push_back(u);
  121. }
  122.  
  123.  
  124. for(int j=1; j<=high; j++)
  125. {
  126.  
  127. if(visited[j]==0)
  128. {
  129. cnt++;
  130. bfs(j);
  131. }
  132.  
  133. }
  134. cout<<cnt<<endl;
  135.  
  136. memset(visited, 0 ,sizeof visited);
  137. for(int i=0 ; i<=30 ; i++) node[i].clear();
  138. }
  139.  
  140.  
  141. return 0;
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement