蓝桥杯题目入门练习-关联矩阵

题目:http://lx.lanqiao.cn/problem.page?gpid=T110

解题思路:对于如下的有向图,有e1到e6共6条边,v1到v4共四个顶点。该图的关联矩阵为4*6的矩阵,每一列代表一条边,从左往右依次为e1到e6,每一行代表顶点,从上往下依次为v1到v4。对于每一列,表示一条边,这条边起点标注为1,这条边终点表示为-1。例如,e1也就是第一列,v2的位置为1,v1的位置为-1,表示一条从v2到v1的有向边,该列其他位置为0。

题目要求输入定点数和边数,然后输入每条边起点和终点,输出关联矩阵,附上我的解题代码。

蓝桥杯题目入门练习-关联矩阵_第1张图片

我的解题代码:
#include
using namespace std;
int arr[105][1005];//创建关联矩阵(二维)并将每个元素初始化为0,

//初始化为0不懂得可以百度全局变量和局部变量以及静态变量
int main()
{
    int m, n;//n个顶点,m条边
    cin >> n >> m;//输入
    int a, b;//每次的起点顶点a,终点b
    for (int i = 1; i <= m; ++i)//进行m次循环,输入m条边信息
    {
        cin >> a >> b;
        arr[a][i] = 1;//将起点设置为1
        arr[b][i] = -1;//终点-1
    }

//输出关联矩阵
    for (int i = 1; i <= n; ++i)//n个顶点,输出n行
    {
        for (int j = 1; j < m; ++j)//m条边,m列
        {
            cout << arr[i][j] << " ";
        }
        cout << arr[i][m] << endl;//思考为什么这儿输出再换行
    }
    //system("pause");//屏幕暂停,显示
    return 0;
}

--------------------------------------------Yuanjrah

你可能感兴趣的:(蓝桥杯题目入门练习-关联矩阵)