![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基本算法
debiluz
这个作者很懒,什么都没留下…
展开
-
洛谷P1433 吃奶酪
题目描述房间里放着n块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处。输入输出格式输入格式: 第一行一个数n (n<=15)接下来每行2个实数,表示第i块奶酪的坐标。两点之间的距离公式=sqrt((x1-x2)(x1-x2)+(y1-y2)(y1-y2))输出格式: 一个数,表示要跑的最少距离,保留2位小数。输入输出样例输入样例#1: 4 1 1 1 -1原创 2017-02-06 22:14:00 · 453 阅读 · 0 评论 -
最短树的Prim算法
基于邻接矩阵,循环n-1次,每次加入一个结点。 把加入节点的集合(设为G)和未加入节点的集合看成二分图,找到一条最短边并把这条边对应的那个在未加入节点的集合里的那个点加入节点集,G不断扩大,最终包括所有节点。//最短树的Prim算法#include <iostream>#include <algorithm>using namespace std;const int N = 100;co原创 2017-04-03 09:21:38 · 514 阅读 · 0 评论 -
有向图的Dijkstra算法
算法原理就不多说了,就讲一讲实现 代码采用邻接矩阵的数据结构,a(i,j)代表第i个节点到第j个节点的距离,不能到达为无穷,代码中设为10000000。 另外数组len代表节点0到每个节点到最短路程,每循环一次就更新一次,vis数组表示访问情况,1表示访问过,0表示未访问。 算法分为2步: (1)置len数组的值,直接将矩阵的第一行给len赋值即可 vis[0] = 1; (2)n-2次...原创 2017-04-01 17:35:48 · 3419 阅读 · 0 评论