T792991 【C1112】 - 图的表示和遍历

题目描述

小明最近学习到了图这个复杂又有趣的数据结构,他学到了图的邻接矩阵的表示方法、图的深度优先遍历、图的广度优先遍历 现在给出一个无向图的描述信息,请你写个程序帮他构建出这个无向图,然后输出这个图的邻接矩阵数据并对这个图进行深度优先遍历和广度优先遍历 图中有n个顶点,每个顶点的值为`0 - (n - 1)`,这里给定的是一个连通图(即从每个顶点出发都可以到达其他的顶点),比如下面这个有5个顶点的图: ![](https://cdn.luogu.com.cn/upload/image_hosting/ad2go0dd.png) 该图对应第1组的样例输入

输入格式

第1行,一个正整数n,代表无向图的顶点的个数 接下来n行,代表每个顶点的信息,格式为:`u k v1 v2 v3 ... vk` 其中`u`为顶点的编号,`k`为与顶点`u`存在边的顶点数目,`v1 v2 v3... vk`代表与顶点u相邻的顶点编号

输出格式

前n行n列,代表该图的邻接矩阵数据,每个元素使用1个空格分隔 接下来1行为该图的深度优先遍历的结果,深度优先遍历时从编号为`0`的顶点开始,同时遍历时以大编号的节点优先(也就是先遍历大编号的顶点再小编号的顶点) 接下来1行为该图的广度优先遍历的结果,广度优先遍历时从编号为`0`的顶点开始,同时遍历时以大编号的节点优先(也就是先遍历大编号的顶点再小编号的顶点)

说明/提示

对于100%的数据满足:$3 \le n \le 20$