Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- /*
- Bismillahir Rahmanir Rahim
- Problem :
- Problem Link :
- Topics :
- Solver : Masud Parves
- I Love Code More than Sharks Love Blood <3
- */
- #define ff first
- #define ss second
- #define pb push_back
- #define mp make_pair
- #define all(a) a.begin(), a.end()
- #define sf(a) scanf("%d",&a)
- #define sff(a,b) scanf("d",&a,&b)
- #define sfff(a,b,c) scanf("d%d",&a,&b,&c)
- #define f0(i,b) for(int i=0;i<(b);i++)
- #define f1(i,b) for(int i=1;i<=(b);i++)
- #define f2(i,a,b) for(int i=(a);i<=(b);i++)
- #define fr(i,b,a) for(int i=(b);i>=(a);i--)
- #define CIN ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL);
- #define mx 550
- #define TEST_CASE(t) for(int z=1 ; z<=t ; z++)
- #define PRINT_CASE printf("Case %d: ",z)
- #define NOT_VISITED 0
- #define IS_VISITED 1
- int fx[4]= {1,-1,0,0};
- int fy[4]= {0,0,1,-1};
- const double PI = acos(-1.0);
- const double EPS = 1e-6;
- const int MOD = (int)1e9+7;
- const int maxn = (int)2e5+5;
- typedef long long ll;
- typedef unsigned long long ull;
- typedef vector<int> vi;
- typedef pair<int, int> pii;
- typedef pair<ll, int> plli;
- typedef pair<int, ll> pill;
- vi node[30];
- bool visited[30];
- void bfs(int p)
- {
- queue<int>Q;
- Q.push(p);
- visited[p]=1;
- while(!Q.empty())
- {
- int u=Q.front();
- Q.pop();
- for(int i=0; i<node[u].size() ; i++ )
- {
- int v=node[u][i];
- if(visited[v]==0)
- {
- visited[v]=1;
- Q.push(v);
- }
- }
- }
- }
- int main()
- {
- CIN
- //freopen("input.txt", "r", stdin);
- //freopen("output.txt", "w", stdout);
- int t;
- string s;
- char ch;
- sf(t);
- getchar();
- int tmp=0;
- TEST_CASE(t)
- {
- if(tmp>0) cout<<endl;
- tmp++;
- int cnt=0;
- cin>>ch;
- int high=ch-64;
- getline(cin,s);
- while(getline(cin,s))
- {
- int u,v;
- if(s.length()==0)
- {
- break;
- }
- u=s[0]-64;
- v=s[1]-64;
- node[u].push_back(v);
- node[v].push_back(u);
- }
- for(int j=1; j<=high; j++)
- {
- if(visited[j]==0)
- {
- cnt++;
- bfs(j);
- }
- }
- cout<<cnt<<endl;
- memset(visited, 0 ,sizeof visited);
- for(int i=0 ; i<=30 ; i++) node[i].clear();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement