描述

给定一个无向图,在此无向图中删除一条边。(题目写错字了)

输入

多组数据,每组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++,附思路)相关推荐

  1. 4006基于邻接矩阵的顶点的删除(C++,附思路)

    描述 给定一个无向图,在此无向图中删除一个顶点. 输入 多组数据,每组m+2行.第一行有两个数字n和m,代表有n个顶点和m条边.顶点编号为1到n.第二行到第m+1行每行有两个数字h和k,代表边依附的两 ...

  2. 4005基于邻接表的顶点的删除(C++,附思路)

    描述 给定一个无向图,在此无向图中删除一个顶点. 输入 多组数据,每组m+2行.第一行有两个数字n和m,代表有n个顶点和m条边.顶点编号为1到n.第二行到第m+1行每行有两个数字h和k,代表边依附的两 ...

  3. 数据结构(C++)——图:基于邻接矩阵实现的图结构

    抽象数据类型 操作接口:图支持的操作接口分为边和顶点两类 Graph模板类 typedef enum { UNDISCOVERED, DISCOVERED, VISITED } VStatus; // ...

  4. python扫雷 广度优先_基于邻接矩阵的广度优先搜索遍历(BFS)

    数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory limit: 65536K 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索( ...

  5. SDUT 2141 【TEST】数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历

    数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...

  6. html仿微信滑动删除,使用Vue实现移动端左滑删除效果附源码

    左滑删除在移动端是很常见的一种操作,常见于删除购物车中的商品,删除收藏夹中文章等等场景.我们只需要手指按住要删除的对象,然后轻轻向左滑动,便会出现删除按钮,然后点击删除按钮即可删除对象. 点击下载源码 ...

  7. 4021-基于链地址法的散列表的删除(C++,附思路)

    描述 请写出在散列表中删除关键字为k的一个记录的算法,设散列函数为H,H(key)=key%13,解决冲突的方法为链地址法. 输入 多组数据,每组三行,第一行为待输入的关键字的个数n,第二行为对应的n ...

  8. 基于C++开发的仓库管理系统(附源码)

    基于C++开发的仓库管理系统(附源码) 一.简介 1.开始菜单 2.登录后的菜单 二.C++代码 main.cpp   一.简介   仓库管理系统的功能有登录.注册.查询功能.入库功能.出库功能.添加 ...

  9. 基于TextRank算法的文本摘要(附Python代码)

    基于TextRank算法的文本摘要(附Python代码): https://www.jiqizhixin.com/articles/2018-12-28-18

最新文章

  1. 传染病控制(洛谷 1041 WA 90)
  2. OWASP TOP 10
  3. 计网 - IPv4 协议:路由和寻址的区别是什么?
  4. 应用层的AIDL用法(原)
  5. verilog读写文件(整理)
  6. IE下iframe跨域session和cookie失效问题的解决方案
  7. 解决toolbar左边空出一部分的问题
  8. 点点滴滴——变量对象的产生
  9. 正斜杠 ,又称左斜杠,符号是/;反斜杠,也称右斜杠,符号是\。
  10. 【Alpha】第二次Daily Scrum Meeting
  11. SSMS安装提示错误Unknown error(0x800f081f) Microsoft.NET Framework 4.7.2无法安装,求解决方法
  12. U盘蠕虫病毒解决办法
  13. Blazor预研与实战
  14. Linux系统访问Windows(本机)的Navicat数据库
  15. STRATEGY模式(冒泡算法为例)
  16. flutter 九宫格菜单_flutter九宫格图片查看器
  17. MSRN(多尺度超分辨率重建)
  18. python查询ip归属地_基于Python的免费IP地址归属地查询
  19. iis php 缓存时间,推荐 IIS7.0下ThinkPHP提示“缓存文件写入失败!” 需要设置user的权限即可 Home/Runtime/Cache/...
  20. 找不到动态库解决方案

热门文章

  1. cocos2d-x的未来之旅
  2. grails安装部署_grails中文版
  3. python创建矩阵_Python创建对称矩阵的方法示例【基于numpy模块】
  4. 201521123013 《Java程序设计》第8周学习总结
  5. memcached的缺点
  6. Hibernate的持久化
  7. ASP.NET MVC 相关的社群与讨论区
  8. Win下的port forwarding
  9. Android5.0设置主题样式
  10. 遍历某路径下的所有文件