题目描述:
问题描述
有一个n个结点m条边的有向图,请输出他的关联矩阵。
输入格式
第一行两个整数n、m,表示图中结点和边的数目。n<=,m<=。
接下来m行,每行两个整数a、b,表示图中有(a,b)边。
注意图中可能含有重边,但不会有自环。
输出格式
输出该图的关联矩阵,注意请勿改变边和结点的顺序。
样例输入 样例输出
-
- -
- - -
-
- -
代码如下:
#include <stdio.h>
#include <string.h>
using namespace std; int main(void)
{
int n,m,a,b;
int map[+][+];
memset(map,,sizeof(map));
scanf("%d%d",&n,&m);
for (int i= ; i<m ; i++)
{
scanf("%d%d",&a,&b);
map[a-][i] = ;
map[b-][i] = -;
} for (int i= ; i<n ; i ++)
{
for (int j= ; j<m ; j ++)
printf("%d ",map[i][j]);
printf("\n");
}
return ;
}
C++解法
解题思路:
题目中的n结点为行,m边为列
依照样例,将点(a-1,m)设为1,点(b-1,m)设为-1
最后输出整个二维数组