CF2112D.Reachability and Tree
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
考虑一个有向图,我们称有序数对 (u,v) 是好的当且仅当 u=v 且图中存在一条 u 到 v 的路径。
给你一棵 n 个结点的树,问有没有一种把这棵树的所有 n−1 条边确定方向的方案,使得形成的有向图中恰有 n 个好的数对。如果存在,给出任意一种方案。

对于第一组数据,这是一种可能的定向方案。
输入格式
多组数据。第一行一个整数 t(1≤t≤104),表示数据组数。
对于每组数据,第一行输入一个正整数 n(2≤n≤2×105)。
接下来 n−1 行,每行输入两个整 ui,vi(1≤ui,vi≤n,ui=vi),表示树上的一条边。
保证每组数据输入的图均构成一棵无向树。保证单个测试点内 n 的和不超过 2×105。
输出格式
对于每组数据,如果不存在定向方案使得形成的有向图中恰有 n 个好的数对,输出一行 NO(大小写不敏感)。
否则,输出一行 YES(大小写不敏感),接下来输出 n−1 行,每行两个正整数 ui,vi,表示你给出的方案形成的有向图中一条结点 ui 指向结点 vi 的边。边的输出顺序不限。如果有多种解,输出任意一种均可。
输入输出样例
输入#1
4 5 1 2 2 4 1 3 3 5 5 1 2 1 3 1 4 4 5 2 2 1 4 3 1 1 2 2 4
输出#1
YES 1 2 3 1 3 5 4 2 YES 2 1 3 1 4 1 5 4 NO YES 1 3 2 1 2 4
说明/提示
样例解释
对于第一组数据,一种可能的定向方案如上图所示。在此方案中五个好的数对为 (3,5),(3,1),(3,2),(1,2),(4,2)。
对于第二组数据,一种可能的定向方案如下图所示。

在此方案中五个好的数对为 (2,1),(3,1),(4,1),(5,4),(5,1)。
对于第三组数据,只有两个有序数对,无论这条唯一的边指向哪个方向,都只有一个数对会是好的。
输入解题思路,AI测评打分。不知道怎么写?