程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 知碼開門 裝箱問題

知碼開門 裝箱問題

編輯:C++入門知識

【探索型】6.16裝箱問題

成績 100 開啟時間 2014年04月1日 星期二 08:00 折扣 0.8 折扣時間 2014年04月28日 星期一 23:00 允許遲交 否 關閉時間 2014年04月28日 星期一 23:00

假設有n項物品,大小分別為s1,s2,...,sn,其中si是整數且滿足:1<=si<=100。要把這些物品裝入到容量為100的一批箱子(序號1~n)中。裝箱方法是:對每項物品si,依次掃描所有這些箱子,把si放入足以能夠容下它的第一個箱子中(first-fit策略)。寫一個程序來模擬這個裝箱的過程。

輸入:

有兩行。第一行是整數n(n<=1000),表示物品的個數;第二行是n個整數si(si<=100),分別表示n個物品的大小

輸出:

每個物品所在的箱子序號,並輸出所需的箱子數目

輸入樣例:

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
#include
#include
using namespace std;
int n,a[1005],b[1005],l,m;
void qq(int k)
{
    if(k=a[k])
            {
                b[m]=b[m]-a[k];
                cout<>n)
    {
        for(i=0;i<=1005;i++)
            b[i]=100;
        l=0;
        m=1;
        for(i=0;i>a[i];

        qq(0);
    printf("所需的箱子數目為%d\n",l);
    }
    return 0;
}



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved