CF103B.Cthulhu

传统题 时间 2000 ms 内存 256 MiB 8 尝试 1 已通过 1 标签

Cthulhu

题目描述

从前有个人来到海边。大海风暴肆虐,乌云密布。那人开始呼唤小美人鱼现身,但不幸的是,他只唤醒了克苏鲁……

与此同时,在世界的另一端,五角大楼正积极收集情报,试图预测怪物的行为,并准备秘密超级武器。由于高强度的地震活动和恶劣的天气条件,卫星尚未能拍摄到怪物的清晰照片。对第一张照片的分析得到了一个无向图,该图有 nn 个顶点和 mm 条边。现在,世界上最聪明的人们正试图判断,这个图是否可以被视为克苏鲁。

为简化问题,假设从太空中看,克苏鲁像一个带有触手的球形物体。形式化地说,我们认为“克苏鲁”是这样一种无向图:它可以表示为三棵或更多有根树的集合,这些树的根通过一个简单环连接。

保证图中没有重边和自环。

输入格式

第一行包含两个整数 nnmm,分别表示图的顶点数和边数(1n1001 \le n \le 1000mn(n1)20 \le m \le \frac{n(n-1)}{2})。

接下来的 mm 行,每行包含两个整数 xxyy,表示在顶点 xxyy 之间存在一条边(1x,yn,xy1 \le x, y \le n, x \ne y)。任意一对顶点之间最多只有一条边,且没有顶点与自身相连的边。

输出格式

如果该图不是克苏鲁,输出 "NO";如果是,输出 "FHTAGN!"。

说明/提示

我们称简单环为一组 vv 个顶点,可以编号为 1,2,,v1,2,\ldots,v,且仅在顶点 11222233、……、v1v-1vvvv11 之间存在边。

树是一个连通的无向图,包含 nn 个顶点和 n1n-1 条边(n>0n>0)。

有根树是指在树中选定一个顶点作为根的树。

由 ChatGPT 4.1 翻译

样例

6 6
6 3
6 4
5 1
2 5
1 4
5 4
FHTAGN!
6 5
5 6
4 6
3 1
5 1
1 2
NO

在线编程 IDE

建议全屏模式获得最佳体验