题目名称 2645. [SHOI 2015]零件组装机
输入输出 gadget.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 20
题目来源 GravatarRobin_Lu 于2017-03-30加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:0, 提交:0, 通过率:0%
关于 零件组装机 的近10条评论(全部评论)

2645. [SHOI 2015]零件组装机

★★★   输入文件:gadget.in   输出文件:gadget.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

曾经发明了激光发生器的发明家SHTSC又公开了他的新发明:零件组装机--一种可以生产并组装零件的神秘装置。

一个零件是一张顶点由0 到n-1标号的无向图,零件组装机由以下两条功能。

(1)生产一个仅有一个顶点标号为0而没有边的零件。

(2)组合两个已有的零件G1,G2,且G2的顶点数m>=G1的顶点数n,得到新的零件G。G的顶点集合是G1、G2顶点集合的并集,并且G2的顶点i(0<=i<m)被重新标号为n+i。G的边集是G1、G2边集的并集再对所有标号为a(a>=n)的顶点添加一条连接(a,a mod n)的无向边。

现在SHTSC正在思考,对于一个给定的零件,能否由零件组装机生产组装得到。注意:零件是带标号的,这意味着两个零件即使仅有标号不同也被视为不同的零件。为了帮助你理解问题,SHTSC特地给了你顶点数<=5的零件的图例。

【输入格式】

第一行一个整数t,表示有t组数据。

每组数据的第一行两个整数n,m。表示某个带标号的无向图有n个顶点0到n-1标号,m是边的数量。

接下来m行,每行两个整数u,v表示一条从u到v的无向边。

【输出格式】

对于每组数据,输出一行。

如果这个无向图可以被零件制造机制造输出"YES"否则输出"NO"。

【样例输入】

2
1 0
2 0

【样例输出】

YES
NO
//样例1:n=1的情况和一个不能被产生的零件

【数据范围】

t<=10,n,m<=100000,0<=u, v<n

【题目来源】

耒阳大世界(衡阳八中) OJ 4594