每日一題(4)

有一只蝸牛位于二維坐標系的原點(0,0),在x軸上有n根平行于y軸的竹竿,它們底部的縱坐標為0,橫坐標分別為x_1,x_2,\cdots,x_n。蝸牛想要從原點走到第n根竹竿的底部(x_n,0)。蝸牛在x軸上的移動速度是1單位每秒,在竹竿上向上爬的速度是0.7單位每秒,向下爬的速度是1.3單位每秒。此外,蝸牛可以在第i根竹竿的高度為a_i的位置(x_i,a_i)瞬間傳送到第i + 1根竹竿的高度為b_{i+1}的位置(x_{i+1},b_{i+1})(0 < i < n)。
?
輸入格式
?
1.?第一行是一個正整數n。
2.?第二行是n個正整數x_1,x_2,\cdots,x_n。
3.?后面n-1行,每行兩個正整數a_i,b_{i+1}。
?
輸出格式
?
輸出一行,一個浮點數表示蝸牛到達目的地所需的最少時間(四舍五入保留兩位小數)。
?
樣例輸入
?
plaintext
??
3
1 10 11
1 1
2 1
?
?

import java.util.Scanner;

public class SnailPath {
? ? public static void main(String[] args) {
? ? ? ? Scanner scanner = new Scanner(System.in);
? ? ? ? int n = scanner.nextInt();
? ? ? ? int[] x = new int[n];
? ? ? ? for (int i = 0; i < n; i++) {
? ? ? ? ? ? x[i] = scanner.nextInt();
? ? ? ? }
? ? ? ? int[][] ab = new int[n - 1][2];
? ? ? ? for (int i = 0; i < n - 1; i++) {
? ? ? ? ? ? ab[i][0] = scanner.nextInt();
? ? ? ? ? ? ab[i][1] = scanner.nextInt();
? ? ? ? }

? ? ? ? double minTime = Double.MAX_VALUE;
? ? ? ? for (int state = 0; state < (1 << (n - 1)); state++) {
? ? ? ? ? ? double time = 0;
? ? ? ? ? ? int pos = 0;
? ? ? ? ? ? int height = 0;
? ? ? ? ? ? for (int i = 0; i < n - 1; i++) {
? ? ? ? ? ? ? ? if ((state & (1 << i))!= 0) {
? ? ? ? ? ? ? ? ? ? // 使用傳送門
? ? ? ? ? ? ? ? ? ? if (height!= 0) {
? ? ? ? ? ? ? ? ? ? ? ? time += (double) height / 0.7;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? time += 0;
? ? ? ? ? ? ? ? ? ? height = ab[i][1];
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? // 不使用傳送門
? ? ? ? ? ? ? ? ? ? if (height!= 0) {
? ? ? ? ? ? ? ? ? ? ? ? time += (double) height / 0.7;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? height = 0;
? ? ? ? ? ? ? ? ? ? time += (double) (x[i + 1] - x[i]);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? if (height!= 0) {
? ? ? ? ? ? ? ? time += (double) height / 0.7;
? ? ? ? ? ? }
? ? ? ? ? ? time += (double) x[n - 1];
? ? ? ? ? ? if (time < minTime) {
? ? ? ? ? ? ? ? minTime = time;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? System.out.printf("%.2f", minTime);
? ? }
}


解題思路
?
1.?初始化:
- 首先讀取輸入的n,竹竿的橫坐標數組x,以及每對傳送門的高度a和b。
- 初始化一個變量?min_time?為一個較大的值,用于記錄最小時間。
2.?計算時間:
- 對于每一種可能的路徑,計算蝸牛從原點到達第n根竹竿底部所需的時間。
- 路徑可以分為以下幾種情況:
- 蝸牛一直沿著x軸爬行,不使用任何傳送門。這種情況下,時間為x_n。
- 蝸牛使用部分傳送門。在這種情況下,需要考慮每一種可能的傳送門組合。
- 對于每一對相鄰的竹竿i和i+1,計算以下兩種情況的時間:
- 從x_i沿著x軸爬行到x_{i+1}的時間,即x_{i+1}-x_i。
- 從x_i處的高度a_i傳送到x_{i+1}處的高度b_{i+1},然后計算在竹竿上移動的時間。在竹竿上向上爬的時間為a_i/0.7,向下爬的時間為b_{i+1}/1.3,傳送時間為0(瞬間傳送)。
- 選擇時間最短的路徑。
3.?更新最小時間:
- 對于每一種可能的路徑,計算出時間后,更新?min_time?為較小的值。
4.?輸出結果:
- 最后輸出?min_time?,四舍五入保留兩位小數。

還是不太理解o-0

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

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

相關文章

arcgisPro相接多個面要素轉出為完整獨立線要素

1、使用【面轉線】工具&#xff0c;并取消勾選“識別和存儲面鄰域信息”&#xff0c;如下&#xff1a; 2、得到的線要素&#xff0c;如下&#xff1a;

51單片機仿真搖號抽獎機源程序 12864液晶顯示

資料下載地址&#xff1a;51單片機仿真搖號抽獎機源程序12864液晶顯示仿真程序 一、功能介紹 單片機連接12864&#xff08;st7920&#xff09;液晶顯示器和1個按鍵接INT0&#xff0c;模擬一個抽獎機。 實現效果&#xff1a; 1、液晶初始顯示“祝你好運&#xff01;”&#xff…

如何在 Ubuntu 22.04 上安裝 Graylog 開源日志管理平臺

簡介 Graylog 的開源特性、豐富的功能、靈活性和可擴展性使其成為一個流行的日志管理平臺。在本教程中&#xff0c;我將向你展示如何在 Ubuntu 22.04 上安裝 Graylog&#xff0c;包括配置 Graylog 服務器軟件包和訪問 Graylog Web UI。 Graylog 是什么&#xff1f; Graylog …

技術發展歷程:從 CORBA 到微服務

CORBA CORBA&#xff08;Common Object Request Broker Architecture&#xff09;誕生于上世紀 90 年代初期&#xff0c;由 OMG 組織提出&#xff0c;它作為一種開創性的分布式對象技術規范&#xff0c;在當時的計算機領域引起了轟動。其核心構成部分——接口定義語言&#xf…

搶單人機交互「新紅利」!哪些細分賽道“多金”?

受終端用戶的智能座艙體驗需求驅動&#xff0c;視覺、聽覺、觸覺等人機交互方式加速煥新。 一方面&#xff0c;人機多模交互引領&#xff0c;車載聲學進入新周期。根據高工智能汽車研究院統計數據&#xff0c;單車的車載揚聲器搭載量正在快速起量。 很顯然&#xff0c;作為智…

記錄vue+elementUI table的組件

可展示圖片&#xff0c; 可使用slot插槽添加邏輯&#xff0c; 循環表cloumn&#xff0c; 循環添加操作配置actionButtons <el-tablev-loading"loading":data"tableData"borderstyle"width: 100%"selection-change"selectChange"…

圖像配準有哪些技術?

目錄 圖像配準技術 1.基于特征的圖像配準 2.基于強度的圖像配準 3.基于模型的圖像配準 4.基于學習的圖像配準 5.混合方法 圖像配準的應用 圖像配準技術入門 常見問題解答 圖像配準是計算機視覺和醫學成像中的一項關鍵技術&#xff0c;用于將多幅圖像對齊到一個共同的坐…

前端學習DAY26(華為平板頁面)

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>平板圖片</title><style> .box{text-al…

算法 雙指針技巧

文章目錄 雙指針[leetcode167 兩數之和](https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/description/)分析題解 [leetcode88 合并兩個有序數組](https://leetcode.cn/problems/merge-sorted-array/description/)分析題解 [leetcode142 環形鏈表](https://lee…

DevOps工程技術價值流:制品庫Nexus與Harbor的實戰探索

制品庫作為DevOps價值流中的一個關鍵環節&#xff0c;其重要性日益凸顯。制品庫&#xff0c;作為存儲和管理軟件開發過程中產生的各種制品&#xff08;如代碼包、鏡像、配置文件等&#xff09;的倉庫&#xff0c;是連接開發、測試、部署等多個環節的橋梁。它不僅能夠實現制品的…

R9000P鍵盤失靈解決辦法

問題描述 突然&#xff0c;就是很突然&#xff0c;我買的R9000P 2024不到三個月&#xff0c;鍵盤突然都不能用了&#xff0c;是所有鍵盤按鍵都無效的那種。&#xff08;可以使用外接鍵盤&#xff09; 解決辦法 我本科室友說的好哈&#xff0c;全壞全沒壞。 &#xff08;該解…

潛在狄利克雷分配LDA 算法深度解析

引言 潛在狄利克雷分配&#xff08;Latent Dirichlet Allocation, LDA&#xff09;是一種廣泛應用于文本挖掘和信息檢索領域的主題模型。它能夠從文檔集合中自動發現隱藏的主題結構&#xff0c;為理解大規模文本數據提供了強有力的工具。本文將著重講解 LDA 的核心理論&#x…

使用正則表達式提取PDF文件頁數的實現方案

文章目錄 背景介紹實現原理代碼實現1. 基礎函數結構2. 頁數提取邏輯3. 使用示例 正則表達式解析優點與局限性優點局限性 錯誤處理建議性能優化建議最佳實踐建議總結參考資源 背景介紹 在Web應用開發中,我們經常需要獲取上傳PDF文件的頁數信息。雖然可以使用pdf.js等第三方庫,但…

sentinel學習筆記6-限流降級(上)

本文屬于sentinel學習筆記系列。網上看到吳就業老師的專欄&#xff0c;寫的好值得推薦&#xff0c;我整理的有所刪減&#xff0c;推薦看原文。 https://blog.csdn.net/baidu_28523317/category_10400605.html sentinel 實現限流降級、熔斷降級、黑白名單限流降級、系統自適應…

全面解析 Kubernetes 流量負載均衡:iptables 與 IPVS 模式

目錄 Kubernetes 中 Service 的流量負載均衡模式 1. iptables 模式 工作原理 數據路徑 優點 缺點 適用場景 2. IPVS 模式 工作原理 數據路徑 優點 缺點 適用場景 兩種模式的對比 如何切換模式 啟用 IPVS 模式 驗證模式 總結 Kubernetes 中 Service 的流量負載…

每日十題八股-2024年12月19日

1.Bean注入和xml注入最終得到了相同的效果&#xff0c;它們在底層是怎樣做的&#xff1f; 2.Spring給我們提供了很多擴展點&#xff0c;這些有了解嗎&#xff1f; 3.MVC分層介紹一下&#xff1f; 4.了解SpringMVC的處理流程嗎&#xff1f; 5.Handlermapping 和 handleradapter有…

藍橋杯嵌入式備賽教程(1、led,2、lcd,3、key)

一、工程模版創建流程 第一步 創建新項目 第二步 選擇型號和管腳封裝 第三步 RCC使能 外部時鐘&#xff0c;高速外部時鐘 第四步晶振時鐘配置 由數據手冊7.1可知外部晶振頻率為24MHz 最后一項設置為80 按下回車他會自動配置時鐘 第五步&#xff0c;如果不勾選可能程序只會…

詳細解讀sedex驗廠

SEDEX驗廠&#xff0c;即供貨商商業道德信息交流認證&#xff08;Supplier Ethical Data Exchange&#xff09;&#xff0c;是一種表明企業遵守商業道德的認證。以下是對SEDEX驗廠的詳細解讀&#xff1a; 一、SEDEX驗廠概述 SEDEX是一家總部位于英國倫敦的非營利組織&#xf…

2.4 設備管理

文章目錄 設備管理概述設備管理技術磁盤調度 設備管理概述 設備管理是操作系統中最繁雜、與硬件關系緊密的部分。 設備可以按照數據組織、資源分配、數據傳輸率分類。 數據組織&#xff1a;分為塊設備&#xff08;ex. 磁盤&#xff09;、字符設備(ex. 打印機)。資源分配&#…

網絡安全滲透有什么常見的漏洞嗎?

弱口令與密碼安全問題 THINKMO 01 暴力破解登錄&#xff08;Weak Password Attack&#xff09; 在某次滲透測試中&#xff0c;測試人員發現一個網站的后臺管理系統使用了非常簡單的密碼 admin123&#xff0c;而且用戶名也是常見的 admin。那么攻擊者就可以通過暴力破解工具&…