APCS202210 第2題運貨站

作業上傳:http://203.68.236.9/problem/c0105

zerojudge網址:https://zerojudge.tw/ShowProblem?problemid=j123

運貨站要管理 n 個五種不同形狀的貨物,下圖標示出貨物的形狀以及對應的英文代碼。

現在這 n 個貨物要按照順序堆放在一個容量大小為 R×C 的倉庫內,第 i 個貨物的形狀為 ti,並且和倉庫的頂部距離為 yi (見圖ㄧ)。貨物堆放置倉庫內時必須維持和倉庫頂端的高度由右向左推到不能前進為止,並且過程中不行將貨物的方向做旋轉。若有一個貨物不能完整放入倉庫內,則該貨物會被貨運站丟棄。

請輸出依序放完這 n 個貨物後,倉庫內有多少剩餘空格,以及被丟棄的貨物有幾個。 

保證輸入內貨物距離倉庫頂部的高度不會讓貨物底部低於地面,並且不會有任何貨物卡在倉庫門口的情形。

輸入說明

第一行輸入三個數字 R(1≤R≤30), C(1≤C≤50), n(1≤n≤200),代表倉庫大小為 R×C 以及有 n 個貨物。接下來有 n 行,第 i 行有一個大寫英文字母 ti 和一個數字 yi 代表貨物的種類以及和倉庫頂部的距離,貨物種類只會是 A 到 E 的大寫字母。

 子題配分

 - (20%) : 只會出現B類型 

- (40%) : 只會出現A,B,C類型 

- (40%) : 5種類型都會出現

輸出說明

輸出倉庫剩餘的空格數量,以及被丟棄的貨物數量。

輸入範例

5 4 6

B 0

B 3

B 1

B 3

B 1

B 2

5 6 6

C 1

A 1

E 0

E 0

B 0

A 0

輸出範例

8 2

13 2


解題策略

二維陣列、模擬

C++程式碼

Python程式碼(感謝ChatGPT)