#35407: java解題思路+提醒


ck1110675 (一笑落塵)

學校 : 臺北市立建國高級中學
編號 : 228469
來源 : [1.162.31.27]
最後登入時間 :
2024-04-25 11:57:54
j123. 2. 運貨站 -- 2022年10月APCS | From: [1.162.74.138] | 發表日期 : 2023-05-31 20:09

觀察題目和輸入輸出可以注意幾個細節:

1.每個貨物的右邊都是切齊的

2.數字y是「與頂部的距離」,會從0開始,也就是說可以直接作為陣列的數字

解題思路:

1.用一維陣列儲存每一列分別的狀態

2.將五種貨物分開來寫,每一種都要考慮到高度、寬度、和體積,如(E高3,寬2,體積5),高度說明需要計算從第y列到第y+高-1列的數據,取每一列的數字加上寬度的最大值,就是這幾列最後的數字,然後所佔的面積+=體積。如果最大值超過C,丟棄的數量+=1

3.D,E貨物雖然看起來很醜,但只要加寬度的時候家不同的數字即可,一樣是算最大值。

Java解題小提醒:

不要用註解的輸入方式

雖然用Eclipse編譯沒問題但zerojudge會出錯

/*

String x=scanner.nextLine();

char a[]=x.toCharArray();

int b=Character.getNumericValue(a[2]);

*/

String x=scanner.next();

char[] a=x.toCharArray();

int b=scanner.nextInt();

 
ZeroJudge Forum