当前位置: 首页 > news >正文

最短路 - ## 采购特价商品

题目描述

题目背景
《爱与愁的故事第三弹·shopping》第一章。
题目描述
中山路店山店海,成了购物狂爱与愁大神的“不归之路”。中山路上有 n 家店,每家店的坐标均在 -10000~10000 之间。其中的 m 家店之间有通路。若有通路,则表示可以从一家店走到另一家店,通路的距离为两点间的直线距离。现在爱与愁大神要找出从一家店到另一家店之间的最短距离。你能帮爱与愁大神算出吗?

输入格式

n + m + 3 行:

  • 第 1 行:整数 n,表示店的数量。
  • 第 2 行 ~ 第 n+1 行:每行两个整数 xy,描述了一家店的坐标。
  • 第 n+2 行:整数 m,表示有通路的店的对数。
  • 第 n+3 行 ~ 第 n+m+2 行:每行描述一条通路,由两个整数 ij 组成,表示第 i 家店和第 j 家店之间有通路。
  • 第 n+m+3 行:两个整数 st,分别表示起点店和目标店。

输出格式

仅一行:一个实数(保留两位小数),表示从 st 的最短路径长度。

样例数据

输入 #1

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

输出 #1

3.41

样例解释: 有 5 家店,根据坐标可以算出有通路连接的店之间的直线距离。从店 1 到店 5 的最短路径是 1 → 2 → 5(或 1 → 3 → 5),总距离为 3.41。

数据范围

  • n ≤ 100
  • m ≤ 1000

实现

边的权重需要你自己用“两点间距离公式”计算。

#include <bits/stdc++.h>
using namespace std;const double INF = 1e20;        // 定义无穷大int n, m, x[102], y[102];
bool visited[102];
double v[104][104], dist[104];double Dis(int t1, int t2) {return sqrt((x[t1] - x[t2]) * (x[t1] - x[t2]) + (y[t1] - y[t2]) * (y[t1] - y[t2]));
}int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) cin >> x[i] >> y[i];// 初始化邻接矩阵为无穷大for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++)v[i][j] = (i == j) ? 0 : INF;   // 自己到自己的距离为0scanf("%d", &m);for (int i = 1; i <= m; i++) {int a, b;cin >> a >> b;double d = Dis(a, b);v[a][b] = v[b][a] = d;}int s, t;cin >> s >> t;for (int i = 1; i <= n; i++) dist[i] = 0x3fffffff;dist[s] = 0;for (int k = 1; k < n; k++) {int Min = 0x3fffffff, id = 0;for (int i = 1; i <= n; i++) {if (!visited[i] && Min > dist[i]) {Min = dist[i];id = i;}}visited[id] = 1;for (int i = 1; i <= n; i++) {// 只有存在边(v[id][i] < INF)时才进行松弛if (!visited[i] && v[id][i] < INF && dist[i] > dist[id] + v[id][i]) {dist[i] = dist[id] + v[id][i];}}}printf("%.2lf\n", dist[t]);return 0;
}
http://www.jsqmd.com/news/429280/

相关文章:

  • RAG文本分块全攻略(非常详细),七种主流策略从入门到精通,收藏这一篇就够了!
  • LLM-RL训练框架入门基础教程(非常详细),3大流派+6大框架从入门到精通,收藏这一篇就够了!
  • Jbd3:HDFS
  • pikachu靶场——Cross-Site Scripting-4 XSS盲打与过滤(Kali系统)
  • 动态树LCT
  • 多模态大模型 | 利用词嵌入多模态语义知识对齐以增强图片-文本匹配
  • Jbd2:Hadoop
  • 云服务器配置 docker-spark
  • OpenKylin够牛,能远程操作的OpenKylin更牛!
  • go-zero的kafka配置
  • 2026年充电桩厂家全场景选型指南:汽车充电桩/重卡充电桩/船舶充电桩/两轮车充电桩 - 资讯焦点
  • Jbd0:前言 Jbd1:概述
  • 最短路 - ## 邮递员送信
  • 2026海外求职机构哪家成功率高:名企资源+导师实力测评(必看) - 品牌排行榜
  • 2026年2月中国网站建设公司推荐榜:十大靠谱口碑供应商 - 资讯焦点
  • 2026年3月京东E卡回收平台精选榜单|收券宝为何成为行业标杆 - 资讯焦点
  • 2026年3月京东E卡回收平台深度测评|收券宝凭三大优势登顶榜首 - 资讯焦点
  • leetcode172.阶乘后的零
  • RuVector:自学习的高性能矢量数据库 [特殊字符]
  • 2026年3月京东E卡回收平台排行榜TOP5|安全高效首选收券宝 - 资讯焦点
  • 2026年卡券回收平台综合实力排行榜,收券宝稳居榜首 - 资讯焦点
  • LangGraph 实战指南:从零构建一个会“思考”的 AI 智能体
  • C++ 中 构造函数 之二
  • 2026上海家政数字化趋势观察:行业正在从“流量竞争”走向“履约竞争”
  • 2026年工程承包商户外场景电动遮阳帘优质推荐榜 - 资讯焦点
  • Task12:哈希表
  • 2026年高性价比卡券回收平台排行榜,收券宝兼顾实惠与省心 - 资讯焦点
  • C++ 中 构造函数 之一
  • Task11:分治
  • 2026年安全高效卡券回收平台排行榜,收券宝凭实力领跑 - 资讯焦点