#9869. 生命之树
生命之树
题目描述
海蒂厌倦了解密生命之树中隐藏的预言,决定返回总部休息一会儿,然后在那里尝试。当然,她不能连树都连根拔起带走,所以她在一张纸上画了一棵树的图。想了一想,她又画了更多相同的图,一共有 张(其中 是生命之树的顶点数)——谁知道会发生什么事呢?
果然,在回去的路上,海蒂遭到了一群僵尸的伏击。虽然她设法击退了它们,但它们以一种奇特的方式损坏了她的图画:从第 张复制品开始,移除了编号为 的顶点,以及所有相邻的边。在每张图片中,僵尸们还抹去了所有顶点编号,并重新用编号 到 的数字任意重新标记了剩下的 个顶点(幸运的是,每个顶点仍然有一个不同的编号)。更重要的是,这些图画已经被任意地洗牌/重新排序了。
现在海蒂想从她对所有图画的描述(边的列表)中恢复生命之树。
输入格式
输入的第一行包含 个测试用例的数量。接下来是 个单独测试用例的描述。
在每个测试用例中,输入的第一行包含数字 和 (其中 是图画的数量;我们有 )。在接下来的行中,给出了 个图画的描述。第 个图画的描述是包含 的一行,表示这个图画中边的数量,接着是 行描述边,每行包含两个用空格分隔的整数,表示边连接的两个顶点的编号。
输出格式
如果海蒂的图画不可能来自一棵树,你应该输出单词 NO。否则,输出一行包含单词 YES 和 行 描述海蒂的图画可能来自的任何一棵树。对于每条边,你应该输出它连接的顶点的编号,用单个空格分隔开。如果有多个解决方案,打印其中任意一个。
1
5 5
2
4 1
2 1
1
3 1
3
4 1
4 3
2 1
3
3 1
3 2
4 1
3
2 1
3 2
4 2
YES
2 5
4 2
3 2
5 1
样例分析
如上所述。
数据范围与提示
对于 的数据: ,。