首先我們看題。
題目:牛牛想嘗試一些新的料理,每個料理需要一些不同的材料,問完成所有的料理需要準備多少種不同的材料。
輸入描述:
每個輸入包含 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的簡單應用啦。如果人和寵物互相選擇,可以用兩個平衡樹,實現起來有些麻煩。但我們可以想到,人和寵物在此題本質等價,人和寵物都可能待在店裡等待。那其實只要乙個平衡樹...