输出给定图的邻接矩阵。
输入格式:
输入第一行给出三个正整数,分别表示无向图的节点数N(1<N≤10)、边数M(≤50)和有向或无向标志S(1表示有向图,0表示无向图)。
随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(编号 范围1~N)。
输出格式:
输出图的邻接矩阵,即N行N列的元素值,有边其值为1,无边其值为0;以方阵形式输出,每个元素间有一个空格,末尾均有一空格。
输入样例:
6 8 0
1 2
2 3
3 4
4 5
5 6
6 4
3 6
1 5
输出样例:
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
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <stdio.h>
#include <string.h>
int g[11][11];
int main()
{int n, m, s;scanf("%d%d%d", &n, &m, &s);while (m--){int a, b;scanf("%d%d", &a, &b);g[a][b] = 1;if (!s)g[b][a] = 1;}for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++)printf("%d ", g[i][j]);puts("");}return 0;
}