深海探险 51Nod - 1535

2023-10-25 05:40
文章标签 51nod 1535 深海 探险

本文主要是介绍深海探险 51Nod - 1535,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很久很久以前的一天,一位美男子来到海边,海上狂风大作。美男子希望在海中找到美人鱼,但是很不幸他只找到了章鱼怪。

 

然而,在世界的另一端,人们正在积极的收集怪物的行为信息,以便研制出强大的武器来对付章鱼怪。由于地震的多发,以及恶劣的天气,使得我们的卫星不能很好的定位怪物,从而不能很好的命中目标。第一次射击的分析结果会反映在一张由n个点和m条边组成的无向图上。现在让我们来确定这张图是不是可以被认为是章鱼怪。

 

为了简单起见,我们假设章鱼怪的形状是这样,他有一个球形的身体,然后有很多触须连接在他的身上。可以表现为一张无向图,在图中可以被认为由三棵或者更多的树(代表触须)组成,这些树的根在图中处在一个环中(这个环代表球形身体)。

 

题目保证,在图中没有重复的边,也没有自环。

 
Input
单组测试数据 
第一行给出两个数,n表示图中的点的个数,m表示图中边的数量。 (1≤ n≤100,0≤ m≤ n*(n-1)/2 ) 
接下来m行给出边的信息, 
每一行有两上数x,y (1≤ x,y≤ n,x≠y) 
表示点x和点y之间有边相连。每一对点最多有一条边相连,点自身不会有边到自己。
Output
共一行,如果给定的图被认为是章鱼怪则输出"FHTAGN!"(没有引号),否则输出"NO"(没有引号)。
Sample Input
6 6
6 3
6 4
5 1
2 5
1 4
5 4
Sample Output
FHTAGN!


思路:题意 给你m组数据a,b(1到n)。判断是否只含有一个圆并且联通分支数为1的图。

并查集,是一种简单高效的方法,用来解决这个问题很合适。本题就是使用并查集做的。(不懂的可以上网查一下并查集)


#include <stdio.h>
#include <string.h>int father[110];
int n,m,flag;void Print()
{for(int i=1; i<=105; i++)father[i]=i;
}int find(int x)
{if(father[x]==x)return x;return father[x]=find(father[x]);
}void merge(int x,int y)
{int tx=find(x);int ty=find(y);if(tx!=ty)father[tx]=ty;else flag++;
}int main()
{while(~scanf("%d %d",&n,&m)){Print();flag=0;int a,b;for(int i=1; i<=m; i++){scanf("%d %d",&a,&b);merge(a,b);}if(n>m){printf("NO\n");continue;}int cont=0;for(int i=1; i<=n; i++)if(father[i]==i)cont++;if(flag==1&&cont==1)printf("FHTAGN!\n");else printf("NO\n");}return 0;
}


这篇关于深海探险 51Nod - 1535的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/280377

相关文章

【深海王国】小学生都能玩的单片机?零基础入门单片机Arduino带你打开嵌入式的大门!(8)

Hi٩(๑o๑)۶, 各位深海王国的同志们,早上下午晚上凌晨好呀~辛勤工作的你今天也辛苦啦 (o゜▽゜)o☆ 今天大都督继续为大家带来系列——小学生都能玩的单片机!带你一周内快速走进嵌入式的大门,let’s go! (8)软串口与SoftwareSerial库使用 在第六节中我们提到了,如果我们Arduino开发板的0、1号引脚接线了,即硬件串口被占用了,想给Arduino下载程序,就需要先

破碎的像素地牢探险:游戏分享

软件介绍 《破碎的像素地牢》是开源一款地牢冒险探索类的游戏,融合了日系RPG经典风格,玩家将控制主角进行未知场景的探索。除了经典地牢玩法外,游戏还添加了更多创意内容,如黑屏状态前的挑战性等,使得游戏更加富有挑战性。玩家可以选择不同职业的角色,如战士、法师、盗贼等,在地下城展开冒险之旅。 使用方法 《破碎的像素地牢》具有高度的复玩性,每局随机生成楼层、敌人和道具,带来全新的游戏体验。游戏中

【深海王国】小学生都能做的APP?AppInventor、BLE蓝牙、Arduino联合开发你的第一个手机远程控制程序(7)

Hi~ (o^^o)♪, 各位深海王国的同志们,早上下午晚上凌晨好呀~ 辛勤工作的你今天也辛苦啦(/≧ω) 今天大都督依旧为大家带来小学生都能学会的APP制作教程,帮你一周内快速开发一款可以和单片机无线通讯的手机蓝牙APP,let’s go! (7)完结篇:APP最终美化、配色、logo一应俱全 不知不觉,本系列已经来到了最后一节,大都督看好你!继续加油!最后一节,我们将完成整个手机远程控制

从高考到程序员:我的程序探险之旅

就在今天下午,湖南省教育考试院公布了 2017 年湖南省普通高等学校招生全国统一考试的卷面成绩,我的微信也瞬间被各种分段统计表和喜报刷屏,每年的这个时候总是几家欢喜几家愁。六年前的 6 月 25 日,在我的记忆中仍然是一个挥之不去的阴影。         仅仅高出一本线几分的糟糕分数让我陷入了一个很尴尬的局面,在那个暑假,填报志愿的指导书不知道被我翻了多少遍,最终我在一本志愿栏里

独木舟(51Nod-1432)

题目 n个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? 输入 第一行包含两个正整数n (0<n<=10000)和m (0<m<=2000000000),表示人数和独木舟的承重。 接下来n行,每行一个正整数,表示每个人的体重。体重不超过1000000000,并且每个人的体

HDU 1535 Invitation Cards 2次Dijkstra来回最短路

题目来源:HDU 1535 Invitation Cards 题意:从1派学生到2-n这n-1个点  求去并且回来的最短路 就是1到各点的最短路之和和各点到1的最短路之和 给的是有向图 思路:对于1到各个点的最短路直接Dijkstra求出无压力 然后各个点到1的最短路可以反向建图后再求一次从1到各个点的最短路 对于很多点到一个点的情况可以考虑反向建图 转变成单源最短路 #include <

海洋日特别活动—深海来客——可燃冰

深海中有一种神奇的物质,似冰又不是冰。 别看它其貌不扬,但本领不小,遇火即燃,能量巨大,可谓是能源家族的新宠。它就是被国务院正式批准列为我国第173个矿种的“可燃冰”! 可燃冰到底是个啥?它都有哪些不寻常的技能?┄┄ 来吧,“中国深度—深海探索主题展”世界海洋日暨全国海洋宣传日特别活动,带我们一起探访“深海来客——可燃冰”! 2024年6月8日下午,由北

Synchronized的锁膨胀艺术:深入源码的探险之旅

1. 引言 在Java的并发编程中,synchronized关键字一直扮演着举足轻重的角色。然而,随着并发需求的不断增长和性能要求的日益提高,单纯的synchronized关键字已经无法满足所有场景的需求。从JDK 1.6开始,Java对synchronized进行了深度的优化,其中最为引人注目的便是“锁膨胀”机制。本文将详细解析synchronized的锁膨胀过程,并探讨其背后的设计原理和优化

【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(二)

文章目录 🚀Linux基础命令(二)🌈1. 寻找目录/文件命令⭐2. 创建文件命令👊3. 网络接口查询命令❤️4. 打包命令💥5. 解压命令 上期回顾: 🔥🔥🔥【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一) 🚀Linux基础命令(二) 🌈1. 寻找目录/文件命令 find 命令用于在指定目录下查找文件和目录。它提供了强大的搜索

深海采矿现状综述

尽管目前各国的深海开采仍处于探索阶段,但是在面积达3.6亿平方公里的广阔深海区域(水深超过200米)中,人们已经发现了包括铜、锌、锰、钴甚至是稀土在内的众多高价值金属矿物。这些资源对于智能手机、笔记本电脑、太阳能电池板、风力涡轮机和电动车至关重要。 这些矿物之中,多金属结核、富钴铁锰结壳以及多金属硫化物(又称海底块状硫化物)三种矿产资源最具有开采价值。      1997年,巴