假設有n項物品,大小分別為s1、s2 、…、si、…、sn ,其中si為滿足1≤si≤100的整數。要把這些物品裝入到容量為100的一批箱子(序號1-n)中。裝箱方法是:對每項物品, 順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及放置全部物品所需的箱子數目。
輸入第一行給出物品個數n(≤1000);第二行給出n個正整數si (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
#includeusing namespace std;
int main();
for(int i=0;i>x;
for(int j=1;j<=n;j++)
break;}}
}cout《假定乙個有n個活動(activity)的集合s=,這些活動使用同乙個資源(例如同乙個階梯教室),而這個資源在某個時刻只能供乙個活動使用。每個活動ai 都有乙個開始時間si 和乙個結束時間fi,其中0<=si =fj 或sj >=fi ,則ai 和aj 是相容的。在活動選擇問題中,我們希望選出乙個最大相容活動集。
第一行乙個整數n(n≤1000);
接下來的n行,每行兩個整數,第乙個si ,第二個是fi(0<=si 輸出最多能安排的活動個數。
113 51 4
12 14
8 12
0 68 11
6 10
5 73 8
5 92 13
4
安排的4個活動為1 4, 5 7, 8 11和12 14。
#includeusing namespace std;
typedef structaa;
bool cmp(aa a,aa b)
sort(s,s+n,cmp);
//for(int i=0;iint sum=0,t=0;
for(int i=0;i}
cout<}
兩道面試演算法題
最近面試 兩道演算法題 說難不難 要寫全對也不容易 很慚愧 我沒有一次寫對 第一道 無序int陣列 找到中位數 void swap int a,int b int get kth number vector num,int k,int start,int end 一次劃分結束 index i if ...
兩道String演算法題賞析
今天leecode看到了道初級演算法題。感覺思維很精妙。特此記錄下來以供學習使用 242.有效的字母異位詞 字母異位詞就是兩個字串的字母相同,個數相同,順序可以不管。我的思維就是 使用map統計每乙個字母的個數,然後遍歷兩個map。進行對比。兩個map的巢狀遍歷,時間複雜度o n 空間複雜度是o n...
每天兩道演算法題(一)
在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。public class solution continue for int j 1 j public class solution ...