set的簡單應用

2021-10-21 08:25:52 字數 729 閱讀 5550

首先我們看題。

題目:牛牛想嘗試一些新的料理,每個料理需要一些不同的材料,問完成所有的料理需要準備多少種不同的材料。

輸入描述:

每個輸入包含 1 個測試用例。每個測試用例的第 i 行,表示完成第 i 件料理需要哪些材料,各個材料用空格隔開,輸入只包含大寫英文本母和空格,輸入檔案不超過 50 行,每一行不超過 50 個字元。

示例1輸入

butter flour

honey flour egg輸出4

這是牛客**上的乙個題目,題目意思簡單,但還是講技巧的。最暴力的辦法就是先把輸入儲存在陣列中然後去挨個去遍歷,刪除重複的。最後輸出陣列大小。但這樣時間複雜度很大,效率很低。這時我們可以用set。set乙個特性就是set裡面的元素不可重複且輸入是它會自動排序,因此set裡面的元素都是獨一無二 的,所以我們輸入完元素後,輸出set的大小就ok了。

**如下:

#include

#include

#include

using

namespace std;

intmain

(int argc,

char

* ar**)

cout

<< endl;

return0;

}

set 的 簡單應用 點讚狂魔

參考 1 set 是集合,無重複元素,並且 set 幫你排序。集合的乙個性質是互異。也就是說 set 裡面的元素沒有重複的,include include includeusing namespace std struct ac a 105 bool cmp ac x,ac y int main a...

set的應用例項

include include include include using namespace std struct employee 預設建構函式 employee long eid,string e name,float e salary attribute public long id emp...

HNOI2004 寵物收養場 set簡單應用

做法 如果收養者按照到來順序收養寵物的話,只要把寵物的特點值建立平衡樹,每次求收養者特點值前驅後繼與之絕對值相差較小的乙個。這就是乙個set的簡單應用啦。如果人和寵物互相選擇,可以用兩個平衡樹,實現起來有些麻煩。但我們可以想到,人和寵物在此題本質等價,人和寵物都可能待在店裡等待。那其實只要乙個平衡樹...