#3668. 克苏鲁
克苏鲁
题目描述
……很久很久以前,有个人来到海边。大海狂风大作、漆黑一片。他呼唤小美人鱼现身,然而不幸的是,他只唤醒了克苏鲁……
与此同时,在世界的另一端,五角大楼正在积极收集情报,试图预测这只怪物的行踪,并秘密研制超级武器。由于强烈的地震活动和恶劣的天气,卫星始终拍不到清晰的照片。对第一张照片的分析结果是一个包含 个顶点、 条边的无向图。现在,世界上最聪明的头脑们要判断这个图能否被视为克苏鲁。
为了简化问题,我们假设克苏鲁从太空看下去是一个附着触手的球状身体。严格地说,我们称一个无向图为克苏鲁,当且仅当它可以表示为三棵或更多有根树的集合,且这些树的根由一个简单环相连。
保证图中不含重边和自环。
输入格式
第一行包含两个整数——图的顶点数 和边数 (,)。
接下来 行,每行两个整数 和 ,表示顶点 与顶点 之间有一条边(,)。每对顶点之间至多一条边,没有任何边连接顶点自身。
输出格式
如果这个图不是克苏鲁,输出 NO;如果是,输出 FHTAGN!。
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
说明/提示
简单环是指由 个顶点构成的集合:可以把这些顶点编号,使得边只存在于编号 与 、 与 、……、 与 、 与 的顶点之间。
树是一个由 个顶点和 条边组成的连通无向图()。
有根树是选定一个顶点作为根的树。