#include <stdio.h>
#include <string.h>
#include<bits/stdc++.h>
using namespace std;
vector<long>vec[100];
long vis[100]={0},i,j;
long bfs(long source)
{
long u,v;
queue<long>que;
vis[source]=1;
que.push(source);
while(!que.empty())
{
long u=que.front();
for(i=0;i<vec[u].size();i++)
{
v=vec[u][i];
if(vis[v]==0)
{
que.push(v);
vis[v]=1;
}
}
que.pop();
}
}
main()
{
long ts,cs=1;
cin>>ts;
while(ts--)
{
char ch;
string s;
long k,k1,k2,i,cnt=0,k3=0,ar[100]={0},vi[100]={0},i1,cnt1=0;
memset(vis,0,sizeof(vis));
cin>>ch;
k=ch-64;
if(cs!=1)
{
cout<<endl;
}
cs++;
getchar();
while(getline(cin,s))
{
if(s[0]=='\0')
break;
k1=s[0]-64;
k2=s[1]-64;
vec[k1].push_back(k2);
vec[k2].push_back(k1);
if(vi[k1]==0)
{
cnt1++;
ar[k3++]=k1;
vi[k1]=1;
}
if(vi[k2]==0)
{
ar[k3++]=k2;
cnt1++;
vi[k2]=1;
}
}
sort(ar,ar+k3);
for(i=0;i<k3;i++)
{
i1=ar[i];
if(vis[i1]==0)
{
cnt++;
vis[i1]=1;
bfs(i1);
}
}
cnt+=(k-cnt1);
cout<<cnt<<endl;
for(i=0;i<=30;i++)
{
vec[i].clear();
}
}
}
#include <string.h>
#include<bits/stdc++.h>
using namespace std;
vector<long>vec[100];
long vis[100]={0},i,j;
long bfs(long source)
{
long u,v;
queue<long>que;
vis[source]=1;
que.push(source);
while(!que.empty())
{
long u=que.front();
for(i=0;i<vec[u].size();i++)
{
v=vec[u][i];
if(vis[v]==0)
{
que.push(v);
vis[v]=1;
}
}
que.pop();
}
}
main()
{
long ts,cs=1;
cin>>ts;
while(ts--)
{
char ch;
string s;
long k,k1,k2,i,cnt=0,k3=0,ar[100]={0},vi[100]={0},i1,cnt1=0;
memset(vis,0,sizeof(vis));
cin>>ch;
k=ch-64;
if(cs!=1)
{
cout<<endl;
}
cs++;
getchar();
while(getline(cin,s))
{
if(s[0]=='\0')
break;
k1=s[0]-64;
k2=s[1]-64;
vec[k1].push_back(k2);
vec[k2].push_back(k1);
if(vi[k1]==0)
{
cnt1++;
ar[k3++]=k1;
vi[k1]=1;
}
if(vi[k2]==0)
{
ar[k3++]=k2;
cnt1++;
vi[k2]=1;
}
}
sort(ar,ar+k3);
for(i=0;i<k3;i++)
{
i1=ar[i];
if(vis[i1]==0)
{
cnt++;
vis[i1]=1;
bfs(i1);
}
}
cnt+=(k-cnt1);
cout<<cnt<<endl;
for(i=0;i<=30;i++)
{
vec[i].clear();
}
}
}
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন