青蛙的邻居( Frogs' Neighborhood)
题目描述:
未名湖附近共有 n 个大小湖泊 L1, L2, ..., Ln(其中包括未名湖),每个湖泊 Li 里住着一只青蛙
Fi( 1≤i≤n)。如果湖泊 Li 和 Lj 之间有水路相连,则青蛙 Fi 和 Fj 互称为邻居。现在已知每只青蛙的
邻居数目 x1, x2, ..., xn,请你给出每两个湖泊之间的相连关系。
输入描述:
第一行是测试数据的组数 t( 0 ≤ t ≤ 20)。每组数据包括两行,第一行是整数 n( 2 ≤ n ≤ 10),
第二行是 n 个整数, x1, x2,..., xn( 0 ≤ xi < n)。
输出描述:
对输入的每组测试数据,如果不存在可能的相连关系,输出"NO"。否则输出"YES",并用 n×n
的矩阵表示湖泊间的相邻关系,即如果湖泊 i 与湖泊 j 之间有水路相连,则第 i 行的第 j 个数字为
第 1 章 图的基本概念及图的存储
- 13 -
1,否则为 0。每两个数字之间输出一个空格。如果存在多种可能,只需给出一种符合条件的情形。
相邻两组测试数据之间输出一个空行。
样例输入: 样例输出:
2
7
4 3 1 5 4 2 1
6