nyoj 129树的判定

从‘Toy Cipher’看古典密码在CTF中的新花样:以BUUCTF signin为例 本文以BUUCTF的signin题目为例,探讨了古典密码在CTF竞赛中的创新应用。通过分析双层替换表的设计,展示了凯撒密码和替换密码的现代演绎方式,帮助选手理解密码学原理并提升解题技巧。文章还提供了详细的解密脚本和实战方法,适合CTF爱好者和密码学学习者参考。 阅读详情

题目大意:给一个有向图,判断是不是树!!!

 

思路:我一上来就想着图,用邻接矩阵还是邻接表存储,是bfs遍历还是dfs遍历!!! 思维僵化了,一上来就想到这!!!

但是,那么东西确实是硬功!!   空树也是树,读题要认真仔细!!!!

 

这道题就是让我们判断一个有向图是不是树!     那我们想一想图在什么情况下是树呢!!!!!

1.首先,没有环

2.其次,每个结点的入读不能大于1

3.最后,结点数=边数+1


数据结构:并查集!!!


对不并查集不了解的同学请先学习并查集!!!!


请想清楚!!!!!!

import java.io.BufferedInputStream;
import java.util.Arrays;
import java.util.Scanner;

public class T {
	private static final int SIZE = 10005;
	private static boolean[] vis = new boolean[SIZE];
	private static int father[] = new int[SIZE];

	public static void inti() {//初始化
		Arrays.fill(vis, false);
		Arrays.fill(father, -1);
	}

	public static int find(int x) {//并查集的find()函数
		return father[x] == -1 ? x : find(father[x]);
	}

	public static void main(String[] args) {
		Scanner sc = new Scanner(new BufferedInputStream(System.in));

		int from, to;// 起点,终点
		int numNode, numEdge;// 结点数,边数
		boolean flag;// 是否是树的标志位!
		int k = 1;

		while (true) {// 总的数据循环
			from = sc.nextInt();
			to = sc.nextInt();

			if (from == -1 && to == -1) {
				break;
			}

			numNode = numEdge = 0;
			flag = true;// 默认是树
			inti();

			while (true) {// 每一组的数据循环
				if (from == 0 && to == 0) {
					break;
				}
				if (flag) {// 如果还是树,就接着判断
					numEdge++;

					if (!vis[from]) {//记录该结点是否出现过
						vis[from] = true;
						numNode++;
					}

					if (!vis[to]) {<span style="font-family: Arial, Helvetica, sans-serif;">//记录该结点是否出现过</span>
						vis[to] = true;
						numNode++;
					}
					if (find(to) != to) {// 情况1:入度大于1,已经有结点指向to了
											// !!!找某结点的发结点只能用find(to)
						flag = false;
					}
					// 情况2:from和to构成环
					if (find(from) == find(to)) {
						flag = false;
					}
					if (flag) {
						father[to] = find(from);//没有构成环的情况下,to的father为from的祖先
					}
				}

				from = sc.nextInt();
				to = sc.nextInt();
			}
			if (flag && (numNode == numEdge + 1 || numEdge == 0)) {//注意空树的情况!!!,我就因为没看到,WA了2次!!!
				System.out.println("Case " + k + " is a tree.");
			} else {
				System.out.println("Case " + k + " is not a tree.");
			}
			k++;
		}	
		sc.close();
		sc = null;
	}
}

 

上码:

判断一个图是否为树(有向图以及无向图) http://www.cppblog.com/fm369o802340/archive/2012/12/10/196151.html 判断一个图是否为树 1. 无向图(hdu 1272 小希的迷宫) 2. 有向图(hdu 1325 Is It A Tree?) 题目大意:判断一个有向图是不是一棵树 判断条件:无环,一个根节点,(只有一个入度为0的结点,不存在入度大于1的结点) #include<iostream> #include<algorithm> #include<cst 阅读详情

相关推荐

MySQL 优化 - index_merge 导致查询偶发变慢

今天遇到了一个有意思的问题,线上数据库 CPU 出现了偶发的抖动。定位到原因是一条查询语句偶发变慢造成的,随后通过调整表中的索引解决。优化器通过某种机制检测到 index_merge 能带来性能提升,某些情况下不会带来提升,反而会耗费更长的时间,属于优化器的缺陷,可以通过调整表中的索引来解决。

分享既学习 1254

判断一个有向图 为 树

1. 有且仅有一个节点,入度为0,即为根 2. 其他节点,入度皆为1 3. 从跟开始广度搜索 所遍历的节点数 应当与有向图中的节点数相等

AlgorithmEngine 3900

AVL-Excite新手必看:5步搞定发动机阀系系统建模(附B站视频教程)

本文为AVL-Excite新手提供发动机阀系系统建模的5步详细指南,涵盖软件环境搭建、基本结构建立、关键参数设置、仿真分析及常见问题排查。通过清晰的步骤说明和实用技巧,帮助工程师快速掌握建模方法,并附有精选B站视频教程链接,便于实践学习。

weixin_29305313的博客 504

poj1308——(经典)判断有向图是不是一棵树

题目链接:http://poj.org/problem?id=1308 A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between nodes satisfy...

mumei的博客 3730

C++上机——2023年“信息与未来”小学生编程思维展示官方题解

本次活动前三题是“根据问题描述实现代码”类型的问题,题解和示例代码由人工智能GPT-4直接阅读题面后生成――只要熟悉C++的语法和基本的编程、调试,即可解决p1、p2、p3。后三题有一定的算法性,我们给出命题思路和一些可能的解法。注意:本题解是面向指导教师的;指导教师在讲解时可以根据学生掌握程度进行调整。

qq_39127687的博客 2296

RPA 财务共享中心与RPA赋能

在和集团财务官交流的时候,客户经常会提到FSSC,其中有准备建立FSSC,正在建立FSSC,以及已建成FSSC正使用的,当中会有些对FSSC的疑虑和问题,所以花费些时间对FSSC进行了深入调研,从而也有幸拜读了王兴山、陈剑、梅震、钱自严等专业人士写的几本关于FSSC的书,对FSSC的前因后果有了更深入的认识,同时结合自己在FSSC的一些项目经验,故做了本次分享。 本文章主要分享财务共享中心以及R...

weixin_40244959的博客 2756

NYOJ129树的判定

树的判定 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edge

Mr.zhou 302

90. 将 SAP ABAP 内表内容本地导出成 Excel 文件

这里文件扩展名为 csv,全称是 Comma-Separated Values,意思是这种类型的文件内容,由逗号分隔。除了 ASC 之外,另一个可用的选项是 BIN,适用于 PDF,EXE 等二进制文件的导出。支持海量的输入和输出参数,我们这个简单的本地导出场景里,大部分参数都用不上。这个分隔符的添加逻辑,编写在上图红色高亮矩形框内,使用的语法是。本教程有学习者向我提问,询问如何将 ABAP 某某函数的某某输出参数的值,导出成本地 Excel 文件。把这个内表的内容,下载到本地,以本地文件的方式保存。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1742

NYOJ129 树的判定 【并查集】

树的判定 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edge

长风的专栏 1181

【软件定义汽车】-【架构篇】-全面讲解整车电子电气架构演进

前言: 前段时间,陆陆续续写了一些电子电气架构相关的文章。这里打算再写最后一篇作为收尾,为整个系列画上句号,把坑填上,这个话题就算过去了。后续一段时间,尽量把之前文章中挖的“坑”填一下。行文逻辑将借鉴5W2H进行。 另外,本文作为一篇整合性的文章,为保证逻辑的完整性,主要是将大量过去自己文章中的内容进行梳理整合,也存在很多行业内专家的公开文章的内容,请见谅。 WHAT1:什么是汽车电子电气架构? 电子电气架构:EEA,Electrical/Electronic Architecture.

零点壹客的博客 1万+

AI大模型探索之路-认知篇1-全景透视:揭秘AIGC技术的进化之路

随着人工智能技术的突飞猛进,内容创作方式的发生了革命性的转变;从早期专业人员主导的内容生产,到现如今生成式人工智(AIGC)能创作时代;本篇文章主要讲解AIGC技术的演变历程。

寻道AI,探索AI无限可能! 1647

nyoj129 树的判定 (并查集)

树的判定 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edg...

angtongyou1893的博客 235

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

树的判定 NYOJ129

树的判定 NYOJ129 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges betwee...

GAO+的博客 257

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

NYOJ 129 树的判定 (并查集)

题目129 题目信息 运行结果 本题排行 讨论区 树的判定 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 A tree is a well-known data structure that is either empty (null, void, nothing) or is a set o

MADE_Y 564

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

nyoj129 树的判定 并查集

树的判定时间限制:1000 ms  |  内存限制:65535 KB难度:4描述A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between nodes sati...

popcjz的博客 1220

nyoj129(树的判定)

nyoj129 (判定树)如何判定是否为树1.树可以认为是(有向图)的特殊情况 (1).入度为一 (2).无环 树:(3).只有一个根节点 所以要进行如下判断1.输入的两个数是否构成环   (1).自身成环e.g.(2-2)       (2).间接成环e.g.old:[(1-2),(1-3)], new[(2-3)] 2. 入度是否为1 输入的第二个数是否已经有father

bad 1033

NYOJ-129 树的判定(并查集)

树的判定 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edge

狂飙的蜗牛 的专栏 1232

NYOJ-129 树的判定

树的判定 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges ...

weixin_30614587的博客 83

nyoj129 树的判定

树的判定 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述     A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges be

qq_35191331的博客 282

NYOJ-129 树的判定 并查集

树的判定 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edge

岚 502

NYOJ_129_树的判定 _【并差集】

树的判定 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述     A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes     connected by directed e

持之以恒_fighting 405

nyoj--129 树的判定(并查集)

nyoj 129题意若干条有向边(u,v)(u, v),判定能否构成一棵有向树。题解构成有向树的条件是: 1. 空树是有向树; 2. 只有一个根节点,除根节点外的每个结点只有一个父节点,也就是只有一个结点入度为0,其他结点入度为1; 3. 不能形成环。可以用并查集检查集合个数,显然一棵树应只有一个集合。 一开始没注意到空树,一直WA,WA,WA,伤得不轻。#include <iostream

许少y 734
上一篇: nyoj 130相同的雪花
下一篇: nyoj 163Phone List-字典树
_低头的麦穗
博客等级 码龄12年 4粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值