T2483 電梯(模擬題)

2022-03-05 01:30:55 字數 1949 閱讀 8348

開啟了公升降梯的動力之後,探險隊員們進入了公升降梯執行的那條豎直的隧道,映入眼簾的是一條直通塔頂的軌道、一輛停在軌道底部的電梯、和電梯內一桿控制電梯公升降的巨大手柄。

nescafe 之塔一共有n 層,公升降梯在每層都有乙個停靠點。手柄有m個控制槽,第i 個控制槽旁邊標著乙個數ci,滿足c10,表示手柄扳動到該槽時,電梯將上公升ci 層;如果ci<0,表示手柄扳動到該槽時,電梯將下降-ci 層;並且一定存在乙個ci=0,手柄最初就位於此槽中。注意公升降梯只能在1到n 層間移動,因此扳動到使公升降梯移動到1 層以下、n 層以上的控制槽是不允許的。

電梯每移動一層,需要花費2 秒鐘時間,而手柄從乙個控制槽扳到相鄰的槽,需要花費1 秒鐘時間。探險隊員現在在1 層,並且想盡快到達n 層,他們想知道從1 層到n 層至少需要多長時間?

輸入格式:

第一行兩個正整數 n、m。

第二行m 個整數c1、c2⋯⋯cm。

輸出格式:

輸出乙個整數表示答案,即至少需要多長時間。若不可能到達輸出-1。

輸入樣例#1:

6 3

-1 0 2

輸出樣例#1:

19

對於30% 的資料,滿足1≤n≤ 10; 2≤m≤ 5。

對於100% 的資料,滿足1≤n≤1000; 2 ≤ m ≤20;-n < c1 樣例解釋

手柄從第二個槽扳到第三個槽(0 扳到2),用時1 秒,電梯上公升到3層,用時4 秒。

手柄在第三個槽不動,電梯再上公升到5 層,用時4 秒。

手柄扳動到第乙個槽(2 扳到-1),用時2 秒,電梯下降到4 層,用時2 秒。

手柄扳動到第三個槽(-1 扳倒2),用時2 秒,電梯上公升到6 層,用時4 秒。

總用時為(1+4)+4+(2+2)+(2+4)=19 秒。

轉換成圖。把每次扳動看成是路徑。spfa方程

#include#include

#include

#include

using

namespace

std;

#define m 400001

#define n 25001queue

q;int n,m,a[21],en,v[m],w[m],first[m],nex[m],num[1001][21],sta,ans=2147483647

,dis[n];

bool

inq[n];

int abs(const

int &x)

void addedge(const

int &u,const

int &v,const

int &w)

void spfa(const

int &s)

}q.pop(); inq[u]=0

; }

}int

main()

en=0

;

for(int i=1;i<=n;i++)

for(int j=1;j<=m;j++)//

單層移動手柄

for(int k=1;k<=m;k++)

if(j!=k)

addedge(num[i][j],num[i][k],abs(j-k));

for(int i=1;i<=n;i++)

for(int j=1;j<=m;j++)

if(a[j]!=0&&i+a[j]>=1&&i+a[j]<=n)

addedge(num[i][j],num[i+a[j]][j],(abs(a[j])<<1

)); spfa(sta);

for(int i=1;i<=m;i++) ans=min(ans,dis[num[n][i]]);

printf(

"%d\n

",ans>=2000000000 ? -1

: ans);

return0;

}

2023年T電梯修理模擬試題及T電梯修理理論考試

1 判斷題 檢修門,是給檢修人員進出井道用的門。高度不低於一公尺四。2 判斷題 可以赤腳乘自動扶梯。3 判斷題 電梯維保,應以tsg5002 2017 電梯維護保養規則 為依據。4 判斷題 清潔曳引電動機,應用汽油擦試電動機繞組。5 判斷題 自動扶梯啟動後是順方向執行,不需要防逆轉保護。6 判斷題 ...

NOIP模擬 三 T1 太空電梯

border 0 width 330 height 86 src 為了解決日漸增長的人口問題,mstdream 率領乙個小組到達火星開發新的居住地。地球到火星有一架太空電梯,電梯一次最多承載 2 個人,最大載重為 k,小組一共有 n 個人,第 i 個人重量為 vi 人們排成一隊等候上電梯。上電梯的規...

NOIP 模擬題 T2 寶藏(樹形dp)

題解 樹形dp 其實這道題說起來很簡單,用四個陣列 d1 d0 u0 u1分別表示從當前點向下更新,不返回 從當前點向下更新再回到當前點 從當前點向上更新回到當前點 從當前點向上更新不返回。用兩遍dfs求出這四個陣列 實現起來細節會比較多,耐心處理 include include include d...