#5388. D1. 树的定向(简单版)
D1. 树的定向(简单版)
当前没有测试数据。
题目背景
这是问题的简单版本。两个版本的区别在于,本版本对 的约束更低。只有当你解决了所有版本的问题后,才能进行 hack。
题目描述
你曾经有一棵包含 个节点的无向树。为了让这棵树看起来更有趣,你决定为这 条边中的每一条赋予一个任意的方向。
随着时间流逝,你忘记了树的结构。然而,你发现了一张纸条,上面记录了在为边赋予方向之后,对于所有满足 的有序对 , 是否能够到达 。
你希望根据纸条上的信息,找出树的结构以及边的方向。请判断是否存在可能的解,并构造一个解。如果有多个解,你只需要找出其中一个即可。
对于一个有向图,我们说 能够到达 当且仅当存在一个节点序列 ,使得 ,并且对于所有 从 到 ,都存在有向边 。特别地,一个节点总是能够到达它自己。
输入格式
每个测试包含多个测试用例。第一行包含一个整数 (),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 (),表示树的节点数量。
接下来 行,每行包含一个字符串 。 的长度为 ,且仅由 和 组成。 的第 个字符为 当且仅当在边被赋予方向后, 能够到达 。
保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,如果存在解,输出 ,否则输出 。如果答案是 ,在接下来的行中输出构造的边的描述。
输出 行,表示有向边。每行包含两个整数 和 ,表示在边被赋予方向后,存在有向边 。如果有多个解,输出任意一个即可。
你可以以任意大小写输出答案。例如,字符串 、、 和 都将被视为肯定回答。
样例 #1
样例输入 #1
11
4
1000
1111
1010
0001
4
1111
0111
0010
0111
4
0011
0111
0011
0001
4
1000
0110
0010
1111
4
1000
0110
1010
1111
5
10000
01011
00111
00010
00001
5
10000
11000
10101
10111
00001
5
10000
01101
00100
01110
10001
4
1100
0100
0011
0001
4
1110
0100
0010
0101
3
100
111
101
样例输出 #1
Yes
2 3
2 4
3 1
No
No
Yes
2 3
4 1
4 2
No
No
Yes
2 1
3 1
3 5
4 3
No
No
Yes
1 2
1 3
4 2
Yes
2 3
3 1
提示
对于第一个测试用例,节点 和 只能到达它们自己,节点 可以到达所有节点,节点 只能到达节点 和 。构造的边满足这个约束。
对于第二个测试用例,可以证明不存在可能的解。