Anúncio
Anúncio

Mais conteúdo relacionado

Mais de IttrainingIttraining(20)

Último(20)

Anúncio

APCS程式設計實作題(Python解題)-物品堆疊/邏輯運算子

  1. 物品堆疊 2017-10-28實作題 1
  2. No. W f 1 𝑊1 𝑓1 2 𝑊2 𝑓2 3 𝑊3 𝑓3 4 𝑊4 𝑓4 5 𝑊5 𝑓5 2
  3. 3
  4. 題目說明 No. W f 1 3 1 2 4 2 3 5 3 3 2 1 0 f(2)*3=2*3=6 f(3)*(3+4)=3*7=21 總能量消耗為 27 3 2 1 0 f(2)*5=2*5=10 f(1)*(4+5)=1*9=9 總能量消耗為 19 配置1: 配置2: 4
  5. 5
  6. 窮舉法: 把所有可能的排列方式,分別計算其 總消耗能量,最低的就是最好的擺法! 共有n! 種排列方式  太慢了~ 6
  7. 計算總消耗能量 w(a) f(a) wb) f(b) 𝑏 𝑎 結論: 只要考慮 (a,b) 或 (b,a) 能量消耗的計算,不必去管 a,b 其上的物品 若 a,b 其上物品的重量為 x x * f(a) + (x+w(a)) * f(b) = x(f(a)+f(b)) + w(a) * f(b) x * f(b) + (x+w(b)) * f(a) = x(f(a)+f(b)) + w(b) * f(a) 配置 (a,b): 配置 (b,a): 7
  8. 如何決定物品的順序? • 此變成一個排序問題, 將兩兩物品(a,b)進行比較 而大小關係為 : 如果我在上面,你搬動我的能量 大於 你在上面我 搬動你的能量, 那麼我排在下面 if w(a)xf(b) < w(b)xf(a) : (a,b) else (b,a) w(a) f(a) wb) f(b) 𝑏 𝑎 8
  9. Example1: No. W f 1 20 1 2 10 1 2 1 能量消耗 0 10 如果是這種擺放方式,可獲得總能量消耗最低 10 w(a)xf(b) < w(b)xf(a) 排序後 2 1 9
  10. Example2: No. W f 1 3 1 2 4 2 3 5 3 3 2 1 能量消耗 0 f(2)*5=2*5=10 f(1)*(4+5)=1*9=9 可獲得總能量消耗最低 19 排序後 w(a)xf(b) < w(b)xf(a) 1 2 3 10
  11. 關鍵程式 11
  12. 動手實作時間 12
  13. 邏輯運算子 2017-10-28實作題 13
  14. 14
  15. 15
  16. 關鍵程式 16
  17. 動手實作時間 17
  18. 了解更多 18 https://bit.ly/3B8w12h 30秒填表 取得更多升學優勢 或洽詢專線 : (02)2316-7736
Anúncio