2023 年 3 月青少年軟編等考 C 語言八級真題解析

目錄

  • T1. 最短路徑問題
    • 思路分析
  • T2. Freda 的越野跑
    • 思路分析
  • T3. 社交網絡
    • 思路分析
  • T4. 旅行
    • 思路分析

T1. 最短路徑問題

題目鏈接:SOJ D1249

平面上有 n n n 個點( n ≤ 100 n\le 100 n100),每個點的坐標均在 ? 10000 ~ 10000 -10000\sim 10000 ?1000010000 之間。其中的一些點之間有連線。若有連線,則表示可從一個點到達另一個點,即兩點間有通路,通路的距離為兩點間的直線距離。現在的任務是找出從一點到另一點之間的最短路徑。

時間限制:1 s
內存限制:128 MB

  • 輸入
    n + m + 3 n+m+3 n+m+3 行,第一行為整數 n n n
    2 2 2 行到第 n + 1 n+1 n+1 行(共 n n n 行) ,每行兩個整數 x x x y y y,描述了一個點的坐標。
    n + 2 n+2 n+2 行為一個整數 m m m,表示圖中連線的個數。
    此后的 m m m 行,每行描述一條連線,由兩個整數 i i i j j j 組成,表示第 i i i 個點和第 j j j 個點之間有連線。
    最后一行兩個整數 s s s t t t,分別表示源點和目標點。
  • 輸出
    僅一行,一個實數(保留兩位小數),表示從 s s s t t t 的最短路徑長度。
  • 樣例輸入
    5
    0 0
    2 0
    2 2
    0 2
    3 1
    5
    1 2
    1 3
    1 4
    2 5
    3 5
    1 5
    
  • 樣例輸出
    3.41
    

思路分析

此題考查最短路徑問題,屬于模板題。常規情況下,最好選用 D i j k s t r a \tt Dijkstra Dijkstra 算法進行求解,不過此題數據量較小,可以使用代碼更為簡單的 F l o y d \tt Floyd Floyd 算法求解。

/** Name: T1.cpp* Problem: 最短路徑問題* Author: Teacher Gao.* Date&Time: 2025/07/18 15:25*/#include <iostream>
#include <cmath>using namespace std;int x[105], y[105];
double g[105][105];double dis(int u, int v) {return sqrt((x[u] - x[v]) * (x[u] - x[v]) + (y[u] - y[v]) * (y[u] - y[v]));
}int main()
{ios::sync_with_stdio(false);cin.tie(0);int n, m, u, v;fill(g[0], g[0] + 105 * 105, 1e9);cin >> n;for (int i = 1; i <= n; i++) {cin >> x[i] >> y[i];g[i][i] = 0;}cin >> m;for (int i = 1; i <= m; i++) {cin >> u >> v;g[u][v] = g[v][u] = dis(u, v);}for (int k = 1; k <= n; k++)for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++)if (g[i][j] > g[i][k] + g[k][j])g[i][j] = g[i][k] + g[k][j];cin >> u >> v;printf("%.2lf", g[u][v]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89397.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89397.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89397.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UEditor富文本編輯器

UEditor配置部分在該項目中插入uediterUEditor是由百度FEX 前端團隊開發并開源的一款功能強大、可定制性高的所見即所得&#xff08;WYSIWYG&#xff09;富文本編輯器。它的核心目標是幫助用戶在網頁上輕松編輯和發布格式豐富的內容&#xff08;如新聞、博客、論壇帖子、產品描…

Node.js 常用工具

Node.js 常用工具 引言 Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境,它允許開發者使用 JavaScript 編寫服務器端應用程序。隨著 Node.js 生態的日益完善,涌現出大量高效的工具,使得開發過程更加高效。本文將詳細介紹一些在 Node.js 開發中常用的工具。 一、…

【unitrix】 6.7 基本結構體(types.rs)

一、源碼 這是一個使用 Rust 類型系統實現類型級二進制數的方案&#xff0c;通過泛型和嵌套結構體在編譯期表示數值。 //! 類型級二進制數表示方案 //! //! 使用嵌套泛型結構體表示二進制數&#xff0c;支持整數和實數表示。 //! //! ## 表示規則 //! - 整數部分: B<高位, 低…

基于Scikit-learn的機器學習建模與SHAP解釋分析

基于Scikit-learn的機器學習建模與SHAP解釋分析 1. 項目概述 本項目將使用Python的scikit-learn庫對一個包含400條記錄的數據集進行完整的機器學習建模流程,包括數據預處理、特征工程、模型訓練和模型解釋。我們將重點關注以下幾個方面: 數據預處理:包括連續變量的標準化/…

QA:備份一般存儲這塊是怎么考慮?備份服務器如何選擇?

1. 性能需求與架構設計 大數據平臺的備份需滿足高并發、加密傳輸、增量掃描、重復數據刪除&#xff08;重刪&#xff09;、數據壓縮等復雜操作&#xff0c;對備份服務器的計算能力、存儲吞吐及網絡帶寬提出極高要求。建議采用多節點集群架構&#xff0c;通過橫向擴展提升備份效…

【東楓科技】用于汽車和工業傳感器應用的高性能、集成式 24 GHz FMCW 雷達收發器芯片組

用于汽車和工業傳感器應用的高性能、集成式 24 GHz FMCW 雷達收發器芯片組 ADF5904是一款高度集成的4通道、24 GHz接收機下變頻器MMIC&#xff0c;具有卓越的低噪聲性能、高線性度和低功耗組合。ADF5904集成式多通道接收機下變頻器具有10 dB噪聲系數性能&#xff0c;優于競爭型…

新版本flutter(3.32.7) android 端集成百度地圖sdk

新版本flutter(3.32.7) android 端集成百度地圖sdk 因為官方文檔有很多地方沒有說清楚,導致在適配過程中踩了很多坑,本文檔基于已經實現集成的flutter安卓端應用編寫。 官方文檔地址:https://lbs.baidu.com/faq/api?title=flutter/loc/create-project/configure Flutt…

FreeRTOS—列表和列表項

文章目錄一、列表與列表項1.1.列表與列表項的簡介1.2.列表與列表項相關結構體1.2.1.列表結構體1.2.2.列表項結構體1.2.3.迷你列表項二、列表相關API函數2.1.列表相關API函數介紹2.1.1.vListInitalise( )初始化列表函數2.1.2.vListInitaliseItem( )初始化列表項函數2.1.3.vListI…

超詳細 anji-captcha滑塊驗證uniapp微信小程序前端組件

由于步驟太多&#xff0c;字數太多&#xff0c;廢話也太多&#xff0c;所以前后端分開講了&#xff0c;后端文章請看&#xff1a; 超詳細 anji-captcha滑塊驗證springbootuniapp微信小程序前后端組合https://blog.csdn.net/new_public/article/details/149116742 anji-captcha…

面向對象編程篇

文章目錄一、思維導圖二、詳細內容第 6 章&#xff1a;面向對象編程基礎6.1 面向對象編程的概念和優勢6.2 類和對象的定義與創建6.3 類的屬性和方法6.4 構造函數&#xff08;__init__&#xff09;和析構函數&#xff08;__del__&#xff09;6.5 封裝、繼承和多態的實現第 7 章&…

虛擬商品自動化實踐:閑魚訂單防漏發與模板化管理的技術解析

最近阿燦發現了一款閑魚虛擬商品賣家必備神器&#xff01;告別手動發貨&#xff0c;訂單自動處理&#xff0c;防錯防漏&#xff0c;支持課程、激活碼、電子書等多種商品&#xff0c;預設模板更省心。文末獲取工具&#xff01;最厲害的是&#xff0c;你完全不用一直開著電腦。以…

【Zephyr開發實踐系列】08_NVS文件系統調試記錄

文章目錄前言一、NVS原理介紹&#xff1a;二、BUG-NO1&#xff1a;將NVS運用在NAND-Flash類大容量存儲設備2.1 情況描述&#xff1a;2.2 BUG復現&#xff1a;文件系統設備樹構建測試應用編寫&#xff08;導致錯誤部分&#xff09;&#xff1a;問題呈現&#xff1a;2.3 問題簡述…

網絡安全第二次作業

靶場闖關1~8 1. 在url后的name后輸入payload ?name<script>alert(1)</script> 2. 嘗試在框中輸入上一關的payload,發現并沒有通過&#xff0c;此時我們可以點開頁面的源代碼看看我們輸入的值被送到什么地方去了 從圖中可以看到&#xff0c;我們輸入的值被送到i…

LangChain 源碼剖析(七)RunnableBindingBase 深度剖析:給 Runnable“穿衣服“ 的裝飾器架構

每一篇文章都短小精悍&#xff0c;不啰嗦。一、功能定位&#xff1a;Runnable 的 "增強包裝器"RunnableBindingBase 是 LangChain 中實現裝飾器模式的核心組件。它就像給原有 Runnable 套上一件 "功能外套"—— 不改變原有 Runnable 的核心邏輯&#xff0c…

為 Git branch 命令添加描述功能

寫在最前面的使用方式 查看 所有分支的備注 git branch.notes創建分支并為分支添加備注 git co -b feat/oauth -m 第三方用戶登錄對分支描述的添加與清除 添加 git branch.note --add 清除 git branch.note --clear &#x1f4dd; 為 Git branch 命令添加描述功能 &#x…

LeetCode|Day18|20. 有效的括號|Python刷題筆記

LeetCode&#xff5c;Day18&#xff5c;20. 有效的括號&#xff5c;Python刷題筆記 &#x1f5d3;? 本文屬于【LeetCode 簡單題百日計劃】系列 &#x1f449; 點擊查看系列總目錄 >> &#x1f4cc; 題目簡介 題號&#xff1a;20. 有效的括號 難度&#xff1a;簡單 題目…

使?Pytorch構建?個神經?絡

關于torch.nn:使?Pytorch來構建神經?絡, 主要的?具都在torch.nn包中.nn依賴于autograd來定義模型, 并對其?動求導.構建神經?絡的典型流程:定義?個擁有可學習參數的神經?絡遍歷訓練數據集處理輸?數據使其流經神經?絡計算損失值將?絡參數的梯度進?反向傳播以?定的規則…

網絡爬蟲的詳細知識點

基本介紹 什么是網絡爬蟲 網絡爬蟲&#xff08;Web Crawler&#xff09;是一種自動化程序&#xff0c;用于從互聯網上抓取、解析和存儲網頁數據。其核心功能是模擬人類瀏覽行為&#xff0c;通過HTTP/HTTPS協議訪問目標網站&#xff0c;提取文本、鏈接、圖片或其他結構化信息&…

AndroidX中ComponentActivity與原生 Activity 的區別

一、AndroidX 與原生 Activity 的區別 1. 概念與背景 原生 Activity&#xff1a;指 Android 早期&#xff08;API 1 起&#xff09;就存在于 android.app 包下的 Activity 類&#xff08;如 android.app.Activity&#xff09;&#xff0c;是 Android 最初的 Activity 實現&…

Spring AI 使用 Elasticsearch 作為向量數據庫

前言 嗨&#xff0c;大家好&#xff0c;我是雪荷&#xff0c;最近在公司開發 AI 知識庫&#xff0c;同時學到了一些 AI 開發相關的技術&#xff0c;這期先與大家分享一下如何用 ES 當做向量數據庫。 安裝ES 第一步我們先安裝 Elasticsearch&#xff0c;這里建議 Elasticsear…