8647 实现图的存储结构

news2024/11/26 10:46:15

### 思路
1. 读取输入的顶点个数`n`和边的条数`m`。
2. 初始化一个`n*n`的邻接矩阵,所有元素初始为0。
3. 读取每条边的信息,更新邻接矩阵对应位置为1。
4. 输出邻接矩阵。

### 伪代码
1. 读取`n`和`m`。
2. 初始化`n*n`的邻接矩阵`matrix`,所有元素为0。
3. 对于每条边,读取顶点`i`和`j`,设置`matrix[i-1][j-1] = 1`。
4. 输出邻接矩阵。

### C++代码
 

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;

    // Initialize adjacency matrix with 0s
    vector<vector<int>> matrix(n, vector<int>(n, 0));

    // Read edges and update the matrix
    for (int k = 0; k < m; ++k) {
        int i, j;
        cin >> i >> j;
        matrix[i-1][j-1] = 1; // Adjust for 0-based indexing
    }

    // Output the adjacency matrix
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            if (j > 0) cout << " ";
            cout << matrix[i][j];
        }
        cout << endl;
    }

    return 0;
}

### 总结
该代码实现了有向图的邻接矩阵存储结构。通过读取顶点和边的信息,初始化一个`n*n`的矩阵,并根据输入的边信息更新矩阵。最后输出邻接矩阵。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2190274.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS列表和超链接的使用(8个案例+代码+效果图+素材)

目录 1.无序列表ul 案例:定义不同type的li 1.代码 2.效果 2.有序列表ol type 取值 start属性 value 案例:定义不同类型的有序列表 1.代码 2.效果 3.定义列表dl 1.代码 2.效果 4.list-style-type属性 list-style-type的取值 案例:list-type的使用 1.代码 2.效果 5.list-style-im…

关于OJ平台的一个代码小问题 ——

目录 一、关于OJ平台的一个代码小问题 1、将OJ代码复制粘贴到vs上 2、创建测试方法&#xff0c;调用本次要调试的目标方法 3、利用vs调试工具排查代码问题 一、关于OJ平台的一个代码小问题 思考&#xff1a;OJ代码有bug怎么办&#xff1f; 答&#xff1a;VS调试技能用起来 …

G. Gears (2022 ICPC Southeastern Europe Regional Contest. )

G. Gears 思路&#xff1a; 本身这个题并不难&#xff0c;奈何卡了很久后看了题解才做出来&#xff0c;感觉自己好笨。 很容易想到的是&#xff0c;只要确定了一个齿轮的位置&#xff0c;其他齿轮的位置都可以直接推出来。所以当前目标是如何确定第一个齿轮的位置。 令 x [ i …

第2篇:Windows权限维持----应急响应之权限维持篇

关键词&#xff1a;Windows系统后门、权限维持 在获取服务器权限后&#xff0c;通常会用一些后门技术来维持服务器权限&#xff0c;服务器一旦被植入后门&#xff0c;攻击者便如入无人之境。本文将对常见的window服务端自启动后门技术进行解析&#xff0c;知己知彼方能杜绝后门…

系统规划与管理——1信息系统综合知识(4)

文章目录 1.3 信息系统1.3.4 信息系统总体规划 1.3 信息系统 1.3.4 信息系统总体规划 信息系统总体规划的概念和作用 一个组织或一个区域的信息系统建设&#xff0c;都要经历由初始到成熟的发展过程。诺兰总结了信息系统发展的规律&#xff0c;在1973年提出了信息系统发展的阶…

《Linux从小白到高手》理论篇:Linux的系统服务管理

值此国庆佳节&#xff0c;深宅家中&#xff0c;闲来无事&#xff0c;就多写几篇博文。本篇详细深入介绍Linux的系统服务管理。 系统服务通常在系统启动时自动启动&#xff0c;并在后台持续运行&#xff0c;为系统和用户提供特定的功能。例如&#xff0c;网络服务、打印服务、数…

CSP-J/S复赛算法 动态规划初步

文章目录 前言动态规划动态规划常见形式动态规划求最值的几个例子1. **背包问题**2. **最短路径问题**3. **最小硬币找零问题**4. **最长递增子序列** 总结 最优子结构举个简单的例子其他例子条件 DP的核心就是穷举具体解释 递归的算法时间复杂度dp数组的迭代解法通俗易懂的解释…

mysql表和表中记录的操作·2

表中字段的操作表中记录的操作SQL约束 1.表中字段的操作 字段/列column 知识点 在表中添加一列&#xff1a;alter table 表名 add 字段名 字段类型; 在表中删除一列&#xff1a;alter table 表名 drop 字段名; 在表中修改字段名和字段类型&#xff1a;alter table 表名…

IO零拷贝技术

01背景介绍 相信不少的网友&#xff0c;在很多的博客文章里面&#xff0c;已经见到过零拷贝这个词&#xff0c;会不禁的发出一些疑问&#xff0c;什么是零拷贝&#xff1f; 从字面上我们很容易理解出&#xff0c;零拷贝包含两个意思&#xff1a; 拷贝&#xff1a;就是指数据从…

Lesson1 - 操作系统概述与硬件视角

文章目录 什么是操作系统操作系统的形成 从程序看OS提出问题&#xff1a;从hello world文件开始目前编译器帮我们解决了诸多问题gcc的编译过程 CPU的运作CPU对任务的切换 什么是操作系统 操作系统 Operating System 是一组控制和管理计算机 硬件 和 软件 资源合理地对各类作业…

深入理解NumPy库:常用函数详解与数组操作指南

在数据科学和数值计算领域&#xff0c;NumPy无疑是一个强大的工具&#xff0c;它为Python提供了高效的多维数 组处理能力。无论是进行数据分析、构建机器学习模型&#xff0c;还是进行复杂的科学计算&#xff0c;NumPy都是 不可或缺的核心库之一。 numpy.array 是 NumPy 库中…

Python 从入门到实战34(实例2:绘制蟒蛇)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们讨论了数据库MySQL操作的相关知识。今天学习一个使用…

C语言指针plus版练习

上期我们讲了进阶的指针&#xff0c;本期内容我们来强化一下上期学的内容 一、字符串左旋 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 1.1 分析题目 假设字符串为abcde&#xff0c;左旋一个以后就变成bcdea&#xff0c;就是把第一个字符移到一个新的变量里面&#…

5G NR BWP 简介

文章目录 BWP介绍BWP 分类BWP相关总结 BWP介绍 5G NR 系统带宽比4G LTE 大了很多&#xff0c;4G LTE 最大支持带宽为20MHz&#xff0c; 而5G NR 的FR1 最大支持带宽为100MH在&#xff0c; FR2 最大支持带宽为 400MH在。带宽越大&#xff0c;意味了终端功耗越多。为了减少终端的…

哪款百元头戴式耳机性价比高?四款大火爆全网的机型盘点推荐!

在繁忙的生活节奏中&#xff0c;寻找一片属于自己的宁静空间&#xff0c;成为了许多人的内心渴望。头戴式降噪耳机&#xff0c;正是那把打开音乐世界的钥匙。它不仅能够隔绝外界的喧嚣&#xff0c;还能将您带入一个纯净无瑕的音乐世界。无论是沉浸在古典乐的悠扬旋律中&#xf…

数据服务-存储服务(NFS)

1.概述 存储: 用于存放用户上传的内容(数据),一般应用在网站集群中 如果不使用存储,用户上传的数据就直接存放在网站服务器上了,用户下次访问就可能找不到 如果使用存储,用户上传的内容存放在存储上面,用户访问就会访问存储. 位置: 网站后排. 2. 存储分类 分类说明硬件存储硬件…

【高等数学学习记录】函数的极限

一、知识点 &#xff08;一&#xff09;知识结构 #mermaid-svg-Dz0Ns0FflWSBWY50 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Dz0Ns0FflWSBWY50 .error-icon{fill:#552222;}#mermaid-svg-Dz0Ns0FflWSBWY50 .erro…

KiCad 综合笔记

开窗 选中顶层或者底层 Mask 层,然后进行覆铜: 四层板 KiCad Tutorial - How to make a 4 layer PCB https://bbs.elecfans.com/jishu_2365544_1_1.html 虽然在“电路板设置”中,可以选择铜层的类型,但如果选择了“电源层”,除了用于告诉“Free router”布线器在自动布…

vue3+vite@4+ts+elementplus创建项目详解

1、第一步创建项目cnpm init vite4 2、设置vue3.2局域网可访问配置&#xff1a; 找到项目路径下的package.json目录下找到script对象下面添加一下代码&#xff1a; "serve": "vite --host 0.0.0.0" 启动项目命令不在是dev而是&#xff1a;cnpm run serve 3…

Linux中的进程信号

目录 进程信号 kill/raise/abort 硬件异常产生信号 由软件条件产生信号 信号在内核中的表示示意图 pending: block: 信号集操作函数 sigprocmask 进程信号 信号量和信号不同 信号量的本质是计数器&#xff0c;计数器可以被多进程同时看到。可以对资源进行预定。 所有进…