PTA 裝箱問題(C C 都有)

2021-10-04 20:14:57 字數 1057 閱讀 9972

假設有n項物品,大小分別為s1、s2 、…、si 、…、sn ,其中si 為滿足1≤s​i≤100的整數。要把這些物品裝入到容量為100的一批箱子(序號1-n)中。裝箱方法是:對每項物品, 順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及放置全部物品所需的箱子數目。

輸入第一行給出物品個數n(≤1000);第二行給出n個正整數s​i(1≤si≤100,表示第i項物品的大小)。

按照輸入順序輸出每個物品的大小及其所在的箱子序號,每個物品佔1行,最後一行輸出所需的箱子數目。

8

60 70 80 90 30 40 10 20

60 1

70 2

80 3

90 4

30 1

40 5

10 1

20 2

5

#include

using

namespace std;

typedef

struct

object;

typedef

struct

box;

intmain()

else

for(

int i=

0; i)else}}

for(

int x=

0; xcout<}return0;

}

#include

typedef

struct

object;

typedef

struct

box;

intmain()

else

for(

int i=

0; i)else}}

for(

int x=

0; xprintf

("%d"

,number);}

return0;

}

PTA 裝箱問題

假設有n項物品,大小分別為s 1 s2 s i s n,其中s i為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及...

PTA裝箱問題

一 題目描述 二 解題思路 這道題是乙個貪心的問題。不能想當然的直接按照面積直接裝,因為箱子是乙個整個的,不可以分開。首先是6 6的箱子,你可以直接裝 然後是5 5的箱子,你在裝完乙個5 5之後,最多只能再裝11個1 1,是1 1盡量往這裡面裝。一直到5 5的箱子裝完 然後是4 4的箱子,裝完乙個4...

PTA 裝箱問題 20分 貪心

假設有n項物品,大小分別為s 1 s 2 s i s n 其中s i 為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,...