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

题目: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。

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

我的解题代码:
#include<iostream>
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

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值