图论
文章平均质量分 67
深搜,广搜
与君随
这个作者很懒,什么都没留下…
展开
-
模板 Dijkstra求最短路径长度
链接Dijkstra求最短路 I代码#include <cstring>#include <iostream>#include <algorithm>using namespace std;int n, m;int mp[510][510];int dist[510];bool st[510];int dijkstra(){ memset(dist, 0x3f, sizeof dist); dist[1] = 0; fo原创 2021-04-20 21:22:41 · 271 阅读 · 0 评论 -
“九韶杯”[友谊纽带] 喊山 (30 分) 小字辈 bfs,dfs求距离
关于求图的最大长度可以考虑用BFS,因为BFS的层次性题目第一题代码第2题代码题目友谊纽带L3-008 喊山 (30 分)题解链接纽带喊山喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/ne原创 2021-04-20 12:36:27 · 188 阅读 · 0 评论 -
L2-001 紧急救援 (25 分)最短路径 迪杰斯特拉算法
L2-001 紧急救援 题目代码题目L2-001 紧急救援 (25 分)作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~ (N−1);M是快速道原创 2021-03-12 21:59:32 · 2947 阅读 · 2 评论 -
L2-036 网红点打卡攻略 (25 分) 邻接矩阵
L2-036 网红点打卡攻略 题目代码题目L2-036 网红点打卡攻略 (25 分)一个旅游景点,如果被带火了的话,就被称为“网红点”。大家来网红点游玩,俗称“打卡”。在各个网红点打卡的快(省)乐(钱)方法称为“攻略”。你的任务就是从一大堆攻略中,找出那个能在每个网红点打卡仅一次、并且路上花费最少的攻略。输入格式:首先第一行给出两个正整数:网红点的个数 N(1<N≤200)和网红点之间通路的条数 M。随后 M 行,每行给出有通路的两个网红点、以及这条路上的旅行花费(为正整数),格式为“网红点原创 2021-03-06 15:03:32 · 1894 阅读 · 2 评论 -
L2-030 冰岛人 (25 分) unordered_map
L2-030 冰岛人 题目代码题目L2-030 冰岛人 (25 分)冰岛人沿用的是维京人古老的父系姓制,孩子的姓等于父亲的名加后缀,如果是儿子就加 sson,女儿则加 sdottir。因为冰岛人口较少,为避免近亲繁衍,本地人交往前先用个 App 查一下两人祖宗若干代有无联系。本题就请你实现这个 App 的功能。输入格式:输入首先在第一行给出一个正整数 N(1<N≤105 ),为当地人口数。随后 N 行,每行给出一个人名,格式为:名 姓(带性别后缀),两个字符串均由不超过 20 个小原创 2021-03-06 14:20:45 · 511 阅读 · 0 评论 -
L2-026 小字辈 (25 分) 邻接表、vector
L2-026 小字辈 题目代码题目L2-026 小字辈 (25 分)本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格式:首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增)。然后在第二行按递增顺序输出辈分原创 2021-03-05 20:51:03 · 283 阅读 · 0 评论 -
L2-025 分而治之 (25 分) 领接表、vector
L2-025 分而治之 题目代码题目L2-025 分而治之 (25 分)分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序,判断每个方案的可行性。输入格式:输入在第一行给出两个正整数 N 和 M(均不超过10 000),分别为敌方城市个数(于是默认城市从 1 到 N 编号)和连接两城市的通路条数。随后 M 行,每行给出一条通路所连接的两个城市的编号,其间以一个空格分隔。在原创 2021-03-05 20:21:18 · 238 阅读 · 0 评论 -
L2-023 图着色问题 (25 分) 领接矩阵
L2-023 图着色问题 题目分析代码题目L2-023 图着色问题 (25 分)图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无向图的顶点数、边数、以及颜色数。顶点和颜色都从1到V编号。随后E行,每原创 2021-03-05 17:33:09 · 332 阅读 · 0 评论 -
L2-013 红色警报 (25 分) 并查集、连通分支数、图论
L2-013 红色警报 题目分析代码题目L2-013 红色警报 (25 分)战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通原创 2021-03-04 09:18:51 · 261 阅读 · 1 评论