➤ Problem Link : 103B. Cthulhu
✅ C++ Solution :
#include<bits/stdc++.h>
using namespace std;
int parent[101];
int find(int v)
{
if(parent[v]==v)
return v;
return parent[v]=find(parent[v]);
}
int main()
{
int n,m,x,y,a,b;
int oneCycle=0;
cin>>n>>m;
for(int i=1;i<=n;i++)
parent[i]=i;
while(m--)
{
cin>>x>>y;
a=find(x);
b=find(y);
if(a!=b)
parent[a]=b;
else
oneCycle++;
if(oneCycle>1)
{
oneCycle=0;
break;
}
}
if(oneCycle!=1)
cout<<"NO\n";
else
{
bool flag=0;
int v=find(1);
for(int i=2;i<=n;i++)
if(find(i)!=v)
{
flag=1;
break;
}
if(!flag)
cout<<"FHTAGN!\n";
else
cout<<"NO\n";
}
}
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!
