[蓝桥杯]ALGO-48.算法训练_关联矩阵

时间:2023-03-10 01:05:10
[蓝桥杯]ALGO-48.算法训练_关联矩阵

题目描述:

问题描述
  有一个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

最后输出整个二维数组