编程题:图的存储
输出给定图的邻接矩阵和邻接表。
### 输入格式:
输入第一行给出三个正整数,分别表示无向图的节点数N(1<N≤10)、边数M(≤50)和有向或无向标志S(1表示有向图,0表示无向图)。
随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(编号 范围1~N)。
### 输出格式:
首先输出图的邻接矩阵,即N行N列的元素值,有边其值为1,无边其值为0;以方阵形式输出,每个元素间有一个空格,末尾均有一空格。
然后输出图的邻接表,从第0行开始按顺序输出,共输出N行,具体样式见输出样例。冒号前后无空格,每个元素间有一个空格,末尾均有一空格。
由于图的存储是不唯一的,为了使得输出具有唯一的结果,我们约定以表头插入法构造邻接表。
### 输入样例:
in
6 8 0
1 2
2 3
3 4
4 5
5 6
6 4
3 6
1 5
### 输出样例:
out
0 1 0 0 1 0
1 0 1 0 0 0
0 1 0 1 0 1
0 0 1 0 1 1
1 0 0 1 0 1
0 0 1 1 1 0
0:4 1
1:2 0
2:5 3 1
3:5 4 2
4:0 5 3
5:2 3 4
答案:若无答案欢迎评论
### 输入格式:
输入第一行给出三个正整数,分别表示无向图的节点数N(1<N≤10)、边数M(≤50)和有向或无向标志S(1表示有向图,0表示无向图)。
随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(编号 范围1~N)。
### 输出格式:
首先输出图的邻接矩阵,即N行N列的元素值,有边其值为1,无边其值为0;以方阵形式输出,每个元素间有一个空格,末尾均有一空格。
然后输出图的邻接表,从第0行开始按顺序输出,共输出N行,具体样式见输出样例。冒号前后无空格,每个元素间有一个空格,末尾均有一空格。
由于图的存储是不唯一的,为了使得输出具有唯一的结果,我们约定以表头插入法构造邻接表。
### 输入样例:
in
6 8 0
1 2
2 3
3 4
4 5
5 6
6 4
3 6
1 5
### 输出样例:
out
0 1 0 0 1 0
1 0 1 0 0 0
0 1 0 1 0 1
0 0 1 0 1 1
1 0 0 1 0 1
0 0 1 1 1 0
0:4 1
1:2 0
2:5 3 1
3:5 4 2
4:0 5 3
5:2 3 4
答案:若无答案欢迎评论