codeforces Cthulhu 简单图论

来源:互联网 发布:利奥三世 知乎 编辑:程序博客网 时间:2024/05/17 01:48

题意:给定一个点集,和边集,问这个它的结构是不是像妖怪。

做法:水,只要DFS判断是否只有一个联通分量,然后再判断N=M即可

#include <iostream>#include <cstdio>const int LMT=102;using namespace std;int gra[LMT][LMT],vis[LMT];int n,m;void dfs(int u){    vis[u]=1;    for(int i=1;i<=n;i++)    if(0==vis[i]&&gra[u][i])dfs(i);}int main(){    scanf("%d%d",&n,&m);    for(int i=1;i<=m;i++)    {        int u,v;        scanf("%d%d",&u,&v);        gra[u][v]=gra[v][u]=1;    }    dfs(1);    for(int i=1;i<=n;i++)    if(0==vis[i])    {        printf("NO\n");        return 0;    }    if(m==n)printf("FHTAGN!\n");    else printf("NO\n");    return 0;}


原创粉丝点击