洛谷 B3643 图的存储 C语言

题目:
https://www.luogu.com.cn/problem/B3643

题目描述

给定一个 n 个顶点 m 条边的无向图。请以邻接矩阵和邻接表的形式输出这一张图。

输入格式

第一行输入两个正整数 n 和 m,表示图的顶点数和边数。

第二行开始,往后 m 行,每行输入两个以空格隔开的正整数 u,v,表示 u,v 顶点之间有一条边直接相连。

输出格式

首先输出 n 行 n 列的矩阵,以空格隔开每一行之间的数表示邻接矩阵。第 i 行第 j 列的数为 1 则表示顶点 i,j 之间有一条边直接相连;若为 0 则表示没有直接相连的边。

再往后输出 n 行。第 i 行首先先输出一个整数 di​,表示这个顶点的度数,再按照从小到大的顺序,依次输出与顶点 i 直接相连的所有顶点。

输入输出样例

输入 #1复制

5 5
1 2
2 3
3 5
1 3
3 4

输出 #1复制

0 1 1 0 0
1 0 1 0 0
1 1 0 1 1
0 0 1 0 0
0 0 1 0 0
2 2 3
2 1 3
4 1 2 4 5
1 3
1 3

说明/提示

样例的图如图所示:

数据保证,对于所有数据,1≤n≤1000,1≤m≤105,且图无重边无自环。

代码如下:

#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
const int N = 1005;
int G[N][N]; 
int indegree[N];
int n,m;//n为定点数,m为边
void print(int i)//输出函数 
{cout << indegree[i] << " ";for(int j = 1 ; j <= n ; j++){if(G[i][j] == 1)cout << j << " ";}cout << endl; 
}
int main(void)
{cin >> n >> m;for(int i = 1 ; i <= m ; i++){int u,v;cin >> u >> v;G[u][v] = G[v][u] = 1;} //求度 for(int i = 1 ; i <= n ; i++){for(int j = 1 ; j <= n ; j++){if(G[i][j] == 1){indegree[i]++;}}} //输出邻接矩阵 for(int i = 1 ; i <= n ; i++){for(int j = 1 ; j <= n ; j++){cout << G[i][j] << " ";}cout << endl;}for(int i = 1 ; i <= n ; i++)print(i); return 0;
}

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

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

相关文章

MATLAB里面,try-catch-end系列语言的含义与用法(含例程)

在 MATLAB 中&#xff0c;try-catch-end 语句用于处理可能会引发错误的代码。它允许你在“尝试”部分执行代码&#xff0c;如果代码执行过程中发生错误&#xff0c;将转到“捕获”部分执行相应的处理。这种错误处理机制可以提高程序的健壮性&#xff0c;避免因小错误导致整个程…

Python练习之列表的使用

&#xff08;搭配主页知识点&#xff09; 【练习要求】 针对知识点列表定义、追加、列表元素读取、查找安排的本实例。要求实现&#xff1a;有一个列表&#xff0c;内容是:[21,25,21,23,22,20]&#xff0c;记录的是一批学生的年龄请通过列表的功能(方法)&#xff0c;对其进行…

安装虚拟机(VMware)教程+win7

VMware 一.下载VMware Wworkstation Pro二、安装VMware三、安装虚拟机 一.下载VMware Wworkstation Pro 1.去vmware官网下载 官网 2.网盘下载 通过网盘分享的文件&#xff1a;vmware 链接: https://pan.baidu.com/s/1bOff79NFAmDlISQo6LK6PQ?pwdhunr 提取码: hunr --来自百…

IDEA无法打开插件市场的解决

1.版本 我的IDEA版本号为2020.1.4 大家可以从IDEA的help->about进行版本号的查看 2.解决 我们直接到jetbrains官网搜索你想要下载的插件 直接下载即可自动导入

C语言总共n位数,将后面的K个数与前面的数对调位置,前后二部分的数字顺序不变

例如&#xff1a;n5&#xff0c;k2&#xff0c;要处理的数字是12345&#xff0c;则处理后变成45123 这个问题可以通过以下步骤解决&#xff1a; 确定前后两部分的分界点。 对前后两部分分别进行反转。 以下是一个简单的C语言示例代码&#xff1a; #include<stdio.h>…

springboot双数据源配置及进行数据库操作

application.yaml配置文件 spring:datasource:druid:stat-view-servlet:enabled: trueloginUsername: adminloginPassword: 123456dynamic:druid:initial-size: 5min-idle: 5maxActive: 20maxWait: 60000timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300…

C# Winform双色纸牌接龙小游戏源码

文章目录 一、设计来源双色纸牌接龙小游戏讲解1.1 主界面1.2 游戏界面1.3 游戏界面快成功了 二、效果和源码2.1 动态效果2.2 源代码 源码下载更多优质源码分享 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/144419994 …

【deepin-Linux分享】文件压缩与传输

文件压缩与传输 文件压缩与传输 一、文件压缩 tar选项tar操作二、文件传输 &#xff08;1&#xff09;scp传输&#xff08;2&#xff09;sftp传输&#xff08;3&#xff09;rsync传输 一、文件压缩 跟windows一样&#xff0c;在Linux下一样需要压缩文件和解压缩包。在Linux中…

无人机航测系统技术特点!

一、无人机航测系统的设计逻辑 无人机航测系统的设计逻辑主要围绕实现高效、准确、安全的航空摄影测量展开。其设计目标是通过无人机搭载相机和传感器&#xff0c;利用先进的飞行控制系统和数据处理技术&#xff0c;实现对地表信息的全方位、高精度获取。 需求分析&#xff1…

分割双声道音频-Audacity和ffmpeg

双声道音频资源&#xff1a; https://download.csdn.net/download/yudelian/90135217 1、ffmpeg分割双声道音频 ffmpeg -i input.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav 2、audacity分割双生音频并且播放 选择分离立体声轨 可以看出分离出了两个音频…

以太网帧、IP数据报图解

注&#xff1a;本文为 “以太网帧、IP数据报”图解相关文章合辑。 未整理去重。 以太网帧、IP数据报的图解格式&#xff08;包含相关例题讲解&#xff09; Rebecca.Yan已于 2023-05-27 14:13:19 修改 一、基础知识 UDP 段、IP 数据包&#xff0c;以太网帧图示 通信过程中&…

docker简单命令

docker images 查看镜像文件 docker ps -a 查看容器文件 docker rm 0b2 删除容器文件&#xff0c;id取前三位即可 docker rmi e64 删除镜像文件&#xff08;先删容器才能删镜像&#xff09;&#xff0c;id取前三位即可 在包含Dockerfile文件的目录…

(C语言)双向链表

目录 链表的分类 双向链表的实现 1&#xff09;定义链表 2&#xff09;初始化双向链表 3&#xff09;申请节点 4&#xff09;尾插 5&#xff09;头插 6&#xff09;打印链表 7&#xff09;尾删 8&#xff09;头插 9&#xff09;查找 10&#xff09;指定位置删除 11…

自然语言处理:我的学习心得与笔记

Pytorch 1.Pytorch基本语法 1.1 认识Pytorch 1.2 Pytorch中的autograd 2.Pytorch初步应用 2.1 使用Pytorch构建一个神经网络 2.2 使用Pytorch构建一个分类器 小节总结 学习了什么是Pytorch. 。Pytorch是一个基于Numpy的科学计算包,作为Numpy的替代者,向用户提供使用GPU强大…

‌HBase是什么,‌HBase介绍

‌官方网站&#xff1a;Apache HBase – Apache HBase Home HBase是一个分布式的、面向列的NoSQL数据库&#xff0c;主要用于存储和处理海量数据。‌它起源于Google的​​​​​​​BigTable论文&#xff0c;是Apache Hadoop项目的子项目。HBase设计用于高可靠性、高性能和可伸…

Group FLUX - User Usage Survey Report

文章目录 User Feedback Summary: Software Advantages and FeaturesUser Feedback Issues and Suggested Improvements1. Security Concerns:Improvement Measures: 2. System Performance and Loading Speed:Improvement Measures: 3. Data Display Issues:Improvement Measu…

Pytorch | 从零构建AlexNet对CIFAR10进行分类

Pytorch | 从零构建AlexNet对CIFAR10进行分类 CIFAR10数据集AlexNet网络结构技术创新点性能表现影响和意义 AlexNet结构代码详解结构代码代码详解特征提取层 self.features分类部分self.classifier前向传播forward 训练过程和测试结果代码汇总alexnet.pytrain.pytest.py CIFAR1…

c语言-----数组

基本概念 数组是C语言中一种用于存储多个相同类型数据的数据结构。这些数据在内存中是连续存储的&#xff0c;可以通过索引&#xff08;下标&#xff09;来访问数组中的各个元素。数组的索引从0开始&#xff0c;这是C语言的规定。例如&#xff0c;一个有n个元素的数组&#xff…

【最新攻略】腾讯云双十一最强攻略密码

引言一起来薅羊毛准备工作双人成团PK有大礼! 福利总结 引言 腾讯云&#xff08;Tencent Cloud&#xff09;想必大家都听说过吧&#xff1f;腾讯云是腾讯提供的“云计算”服务。你可以把它想成一个超级强大的网络平台&#xff0c;帮助公司和开发者把自己的技术、数据、网站等东西…

java list 和数组互相转换的一些方法

在Java中&#xff0c;List 和 数组&#xff08;Array&#xff09; 之间的转换是一个常见的操作。由于它们是不同的数据结构&#xff0c;Java提供了一些方法来在它们之间进行转换。我们会从List到数组和数组到List两种情况分别讨论。 1. List 转 数组 假设你有一个 List 类型的…