Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 18 Ad

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

APCS (Advanced Placement Computer Science)大學程式設計先修檢測,除了可作為申請電資等理工相關科系的個人成績證明,也可用在特殊選才的資格認定,或納入一般申請入學的備審資料,讓學習歷程更豐富亮眼! 歡迎加入台灣程式教育協進會APCS程式檢定營隊,讓你快速了解APCS大學程式設計先修檢測的觀念題與實作題。
我有興趣:由觀念到解題,完全程式實戰
→ https://bit.ly/3B8w12h
歡迎填表 取得更多大學升學資訊或洽詢專線 : (02)2316-7736

APCS (Advanced Placement Computer Science)大學程式設計先修檢測,除了可作為申請電資等理工相關科系的個人成績證明,也可用在特殊選才的資格認定,或納入一般申請入學的備審資料,讓學習歷程更豐富亮眼! 歡迎加入台灣程式教育協進會APCS程式檢定營隊,讓你快速了解APCS大學程式設計先修檢測的觀念題與實作題。
我有興趣:由觀念到解題,完全程式實戰
→ https://bit.ly/3B8w12h
歡迎填表 取得更多大學升學資訊或洽詢專線 : (02)2316-7736

Advertisement
Advertisement

More Related Content

More from IttrainingIttraining (20)

Recently uploaded (20)

Advertisement

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

  1. 1. 物品堆疊 2017-10-28實作題 1
  2. 2. No. W f 1 𝑊1 𝑓1 2 𝑊2 𝑓2 3 𝑊3 𝑓3 4 𝑊4 𝑓4 5 𝑊5 𝑓5 2
  3. 3. 3
  4. 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. 5
  6. 6. 窮舉法: 把所有可能的排列方式,分別計算其 總消耗能量,最低的就是最好的擺法! 共有n! 種排列方式  太慢了~ 6
  7. 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. 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. 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. 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. 關鍵程式 11
  12. 12. 動手實作時間 12
  13. 13. 邏輯運算子 2017-10-28實作題 13
  14. 14. 14
  15. 15. 15
  16. 16. 關鍵程式 16
  17. 17. 動手實作時間 17
  18. 18. 了解更多 18 https://bit.ly/3B8w12h 30秒填表 取得更多升學優勢 或洽詢專線 : (02)2316-7736

×