题目描述
根据边表输出这个图的邻接矩阵。
输入
第一行为图的顶点数N(1≤N≤100)和边数M,它们之间用一个空格隔开,图中的顶点用1到N的整数标号。接下来的M行,每行用两个数V1和V2表示一条边。V1与V2用一个空格隔开,表示这条边所连接的顶点的标号(V1≠V2),同一条边不会重复出现。
输出
输出n行,每行n个数,每两个数之间用一个空格隔开,如果两个顶点相邻,则输出1,同一个顶点之间视为不能到达,即为0。
样例
输入
4 6
1 2
1 3
1 4
2 3
2 4
3 4
输出
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int g[200][200];
int in[200],out[200];
int n,m,a,b;
cin>>n>>m;
for (int i=1;i<=m;i++)
{
cin>>a>>b;
g[a][b]=1;
g[b][a]=1;}
for (int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<g[i][j]<<" ";
}
cout<<endl;
}
}