欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:算法 藍(lán)橋杯:蝸牛(Java)

柚子快報(bào)激活碼778899分享:算法 藍(lán)橋杯:蝸牛(Java)

http://yzkb.51969.com/

目錄

題目描述:輸入格式輸出格式代碼實(shí)現(xiàn):

題目描述:

這天,一只蝸牛來到了二維坐標(biāo)系的原點(diǎn)。 在α軸上長有n根竹竿。它們平行于y軸,底部縱坐標(biāo)為0,橫坐標(biāo)分別為a1, a2, …, n。竹竿的高度均為無跟高,寬度可忽略。蝸牛想要從原點(diǎn)走到第n個(gè)竹竿的底部也就是坐標(biāo)(xn,0)。它只能在α軸上或者竹竿上爬行,在α軸上爬行速度為1單位每秒;由于受到引力影響,蝸牛在竹竿上向上和向下爬行的速度分別為0.7單位每秒和1.3單位每秒。 為了快速到達(dá)目的地,它施展了魔法,在第i和i+1根竹竿之間建立了傳送門(0

x

i

+

1

x_{i+1}

xi+1?,

b

i

+

1

b_{i+1}

bi+1?),請(qǐng)計(jì)算蝸牛最少需要多少秒才能到達(dá)目的地。

輸入格式

輸入共1+n行,第一行為一個(gè)正整數(shù)n; 第二行為n個(gè)正整數(shù)c1, 2, …, n ; 后面n―1行,每行兩個(gè)正整數(shù)ai,bi+1。

3

1 10 11

1 1

2 1

輸出格式

輸出共一行,一個(gè)浮點(diǎn)數(shù)表示答案(四舍五入保留兩位小數(shù))。

4.20

代碼實(shí)現(xiàn):

import java.util.Scanner;

public class Main{

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

// 在此輸入您的代碼...

int n = scan.nextInt();// n根竹竿

int[] arr = new int[n];// 存儲(chǔ)每個(gè)橫坐標(biāo)的值

for (int i = 0; i < arr.length; i++) {

arr[i] = scan.nextInt();

}

// 記錄坐標(biāo)兩兩之間的傳送點(diǎn)的對(duì)應(yīng)位置

// 共有n-1組數(shù)據(jù):0表示傳送門1的高度a,1表示傳送門2的高度b

int[][] transmit = new int[n][2];

for (int i = 0; i < n - 1; i++) {

transmit[i][0] = scan.nextInt();

transmit[i][1] = scan.nextInt();

}

// dp[i][0]表示到達(dá)第i個(gè)坐標(biāo)的最短時(shí)間,dp[i][1]表示到達(dá)第i個(gè)傳送們的最短時(shí)間

double[][] dp = new double[n + 1][2];

// 計(jì)算第一組dp值

dp[1][0] = arr[0];// 橫坐標(biāo)距離

dp[1][1] = arr[0] + transmit[0][0] / 0.7;// 橫坐標(biāo)距離 + 向上爬到傳送門距離

int a, b;

// 動(dòng)態(tài)規(guī)劃:打表遍歷獲得dp的值

for (int i = 2; i <= n; i++) {

a = transmit[i - 1][0];// 下一次傳送門的高度

b = transmit[i - 2][1];// 當(dāng)前傳送之后的高度

int pos = arr[i - 1] - arr[i - 2];// 距離下一個(gè)坐標(biāo)點(diǎn)的距離

if (a > b) {

// 傳送之后比下一次傳送的位置更低

dp[i][1] = Math.min(dp[i - 1][0] + pos + a / 0.7, dp[i - 1][1] + (a - b) / 0.7);

// 計(jì)算走傳送路徑的最短時(shí)間:比較兩種情況

// 一,上一輪到達(dá)坐標(biāo)點(diǎn)的時(shí)間 + 到達(dá)下一個(gè)坐標(biāo)點(diǎn)的距離 + 向上爬行到傳送門的距離

// 二,上一輪到達(dá)傳送門的距離 + 向上爬行到下一次傳送的距離

} else {

// 傳送之后比下一次傳送的位置更高或者等高

dp[i][1] = Math.min(dp[i - 1][0] + pos + a / 0.7, dp[i - 1][1] + (b - a) / 1.3);

// 與上面判斷不同的是:第二種情況需要向上爬行到指定傳送位置

}

// 計(jì)算到達(dá)坐標(biāo)軸的時(shí)間

dp[i][0] = Math.min(dp[i - 1][1] + b / 1.3, dp[i - 1][0] + pos);// 分為兩種情況

// 情況一:剛傳送過來可能不在坐標(biāo)點(diǎn)上,上一輪傳送時(shí)間 + 向下爬行的時(shí)間

// 情況二:剛好在坐標(biāo)點(diǎn)上,上一輪到達(dá)坐標(biāo)點(diǎn)時(shí)間 + 到達(dá)下一個(gè)坐標(biāo)點(diǎn)的距離

}

System.out.printf("%.2f", dp[n][0]);// 輸出最后一輪到達(dá)坐標(biāo)點(diǎn)的時(shí)間

scan.close();

}

}

柚子快報(bào)激活碼778899分享:算法 藍(lán)橋杯:蝸牛(Java)

http://yzkb.51969.com/

精彩內(nèi)容

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18798655.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄