最短時間過橋問題

2022-02-02 16:56:52 字數 1180 閱讀 9710

問題如下:四個女人過橋,夜間有一火把,每次最多過兩個,必需帶火把,過橋速度不一樣,分別為

兩個人過用最慢乙個的速度,火把不能扔,如何在17min內四個女人都過橋?

這個問題其實園子裡已經有解決方案了 也討論了多次 不過呢 很多只有思路 原始碼也不夠詳細 於是 我再演繹一下 歸納總結一下

其實是很簡單的  返回永遠最多返回乙個 所以返回肯定是取已經過橋的人中時間最短的那乙個

那麼過橋呢 過橋的話 要麼取時間最短的兩個(最快速)  要麼取最慢的兩個(最不浪費快的那個人的時間)  而取最慢的兩個過橋的前提是:已經過橋的人中,存在乙個人,速度比未過橋的人快 (其實這個人 永遠就是no.2  因為no.2永遠和no.1一起過橋 而no.1永遠是優先回來)  這樣 所浪費的時間是最少 也就是最優的過橋方案

原始碼:view code

1

internal

class

women231

}32///33

///是否已完成過橋

34///

35private

bool

iscomplete

3641}42

///43

///開始過橋

44///

45///

46public

string

startgapbridge()

4774}75

else

7695}96

}97}98

return msg + "

共用時:

" +sumtime;99}

100101

///102

///是否右邊女人的速度有比左邊快的

103///

104///

105private

bool

isrightwomenlessleft()

106115

}116

}117

return

false

;118

}119

120 }

view code

1

static

void main(string

args)

2

ps:我本來想上傳打包原始碼 發現找不到上傳按鈕...

所有車的過橋最短時間

今晚幫朋友助攻遇到了一道題,當時有思路但是沒有寫出來,後來結合牛客網上的解答寫了出來,也不知道具體能ac多少道題,先放在這裡等大家指點吧 有n輛車藥陸續通過一座最大承重為w的橋,其中第i輛車的重量為w i 通過橋的時間為t i 要求第i輛車上橋的時間不早於第i 1輛車上橋的時間,任意時刻橋上所有車輛...

最短時間(Dijistra)

時間限制 500ms 記憶體限制 100m 最短時間 描述 夢工廠有 n 個分廠 從 1 開始編號 有m對分廠通過雙向鐵路相連。為了保證每兩個分廠之間的同學可以方便地進行交流,掌舵人張老師就在那些沒有鐵路連線的分廠之間建造了公路。在兩個直接通過公路或鐵路相連的分廠之間移動,需要花費 1 小時。現在菜...

最短路 dijkstra求最短時間)

在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整數n m n 100,m 10000 n...