4010-基于邻接矩阵的边的删除(C++,附思路)
描述
给定一个无向图,在此无向图中删除一条边。(题目写错字了)
输入
多组数据,每组m+2行。第一行有两个数字n和m,代表有n个顶点和m条边。顶点编号为1到n。第二行到第m+1行每行有两个数字h和k,代表边依附的两个顶点。第m+2行有两个数字f和g,代表删除的边所依附的两个顶点。当n和m都等于0时,输入结束。
输出
每组数据输出n行。为删除边后的邻接矩阵。每两个数字之间用空格隔开。
输入样例 1
3 2
1 2
2 3
3 2
3 1
1 2
1 2
0 0
输出样例 1
0 1 2 3 1 0 1 0 2 1 0 0 3 0 0 0 0 1 2 3 1 0 0 0 2 0 0 0 3 0 0 0
题外话:
做题顺序是4004-4006-4008-4010,一路下来做到这道题,对邻接矩阵的相关操作应该已经很熟悉了吧,所以在创建、输出方面不做过多赘述了,当然如果你是一开始就做的这道题,而且还不太明白的话,可以看我的这篇文章,比较详细地介绍了初始化和赋值的思路~
4004-基于邻接矩阵的新顶点的增加(C++,附思路)_鹤天寻的博客-CSDN博客https://blog.csdn.net/qq_54416938/article/details/121574711?spm=1001.2014.3001.5501
思路:
删除边的话,告诉了两个节点,就相当于这两个节点现在不能互相到达了,所以将相应的对称位置置为0即可。
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
using namespace std;typedef struct
{int vexnum;int matrix[100][100];
}AMGraph;
void Create(AMGraph& amg, int n, int m)
{amg.vexnum = n;for (int i = 0; i <= n; i++){amg.matrix[i][0] = i;amg.matrix[0][i] = i;}for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++)amg.matrix[i][j] = 0;int h, k;for (int i = 0; i < m; i++){cin >> h >> k;amg.matrix[h][k] = 1;amg.matrix[k][h] = 1;}int p1, p2;cin >> p1 >> p2;amg.matrix[p1][p2] = 0;amg.matrix[p2][p1] = 0;
}
void Show(AMGraph amg,int n)
{for (int i = 0; i <= n; i++){for (int j = 0; j <= n; j++){if (j != 0)cout << ' ';cout << amg.matrix[i][j];}cout << endl;}
}
int main()
{int m, n;while (cin >> n >> m && m != 0 && n != 0){AMGraph amg;Create(amg, n, m);Show(amg, n);}return 0;
}
4010-基于邻接矩阵的边的删除(C++,附思路)相关推荐
- 4006基于邻接矩阵的顶点的删除(C++,附思路)
描述 给定一个无向图,在此无向图中删除一个顶点. 输入 多组数据,每组m+2行.第一行有两个数字n和m,代表有n个顶点和m条边.顶点编号为1到n.第二行到第m+1行每行有两个数字h和k,代表边依附的两 ...
- 4005基于邻接表的顶点的删除(C++,附思路)
描述 给定一个无向图,在此无向图中删除一个顶点. 输入 多组数据,每组m+2行.第一行有两个数字n和m,代表有n个顶点和m条边.顶点编号为1到n.第二行到第m+1行每行有两个数字h和k,代表边依附的两 ...
- 数据结构(C++)——图:基于邻接矩阵实现的图结构
抽象数据类型 操作接口:图支持的操作接口分为边和顶点两类 Graph模板类 typedef enum { UNDISCOVERED, DISCOVERED, VISITED } VStatus; // ...
- python扫雷 广度优先_基于邻接矩阵的广度优先搜索遍历(BFS)
数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory limit: 65536K 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索( ...
- SDUT 2141 【TEST】数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...
- html仿微信滑动删除,使用Vue实现移动端左滑删除效果附源码
左滑删除在移动端是很常见的一种操作,常见于删除购物车中的商品,删除收藏夹中文章等等场景.我们只需要手指按住要删除的对象,然后轻轻向左滑动,便会出现删除按钮,然后点击删除按钮即可删除对象. 点击下载源码 ...
- 4021-基于链地址法的散列表的删除(C++,附思路)
描述 请写出在散列表中删除关键字为k的一个记录的算法,设散列函数为H,H(key)=key%13,解决冲突的方法为链地址法. 输入 多组数据,每组三行,第一行为待输入的关键字的个数n,第二行为对应的n ...
- 基于C++开发的仓库管理系统(附源码)
基于C++开发的仓库管理系统(附源码) 一.简介 1.开始菜单 2.登录后的菜单 二.C++代码 main.cpp 一.简介 仓库管理系统的功能有登录.注册.查询功能.入库功能.出库功能.添加 ...
- 基于TextRank算法的文本摘要(附Python代码)
基于TextRank算法的文本摘要(附Python代码): https://www.jiqizhixin.com/articles/2018-12-28-18
最新文章
- 传染病控制(洛谷 1041 WA 90)
- OWASP TOP 10
- 计网 - IPv4 协议:路由和寻址的区别是什么?
- 应用层的AIDL用法(原)
- verilog读写文件(整理)
- IE下iframe跨域session和cookie失效问题的解决方案
- 解决toolbar左边空出一部分的问题
- 点点滴滴——变量对象的产生
- 正斜杠 ,又称左斜杠,符号是/;反斜杠,也称右斜杠,符号是\。
- 【Alpha】第二次Daily Scrum Meeting
- SSMS安装提示错误Unknown error(0x800f081f) Microsoft.NET Framework 4.7.2无法安装,求解决方法
- U盘蠕虫病毒解决办法
- Blazor预研与实战
- Linux系统访问Windows(本机)的Navicat数据库
- STRATEGY模式(冒泡算法为例)
- flutter 九宫格菜单_flutter九宫格图片查看器
- MSRN(多尺度超分辨率重建)
- python查询ip归属地_基于Python的免费IP地址归属地查询
- iis php 缓存时间,推荐 IIS7.0下ThinkPHP提示“缓存文件写入失败!” 需要设置user的权限即可 Home/Runtime/Cache/...
- 找不到动态库解决方案