題目描述:
牛牛想嘗試一些新的料理,每個料理需要一些不同的材料,問完成所有的料理需要準備多少種不同的材料。
輸入描述:
每個輸入包含 1 個測試用例。每個測試用例的第 i 行,表示完成第 i 件料理需要哪些材料,各個材料用空格隔開,輸入隻包含大寫英文字母和空格,輸入檔案不超過 50 行,每一行不超過 50 個字元。
輸出描述:
輸出一行一個數字表示完成所有料理需要多少種不同的材料。
輸入示例:
BUTTER FLOUR
HONEY FLOUR EGG
輸出示例
4
c++代碼:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(){
vector<string> str;//初始化一個存儲字元串的向量,用于存儲所有配料名稱
string strr;//定義一個string變量
cin>>strr;//首先擷取輸入行的第一個配料名稱
cin.get();//把輸入流中的下一個空格/換行字元讀取
str.push_back(strr);将擷取的第一個配料名稱存入向量中
int k = 1;定義一個變量用于記錄配料的種類數,因為已經向向量中放入了一種配料名稱,是以k初始化為1
//通過循環來不斷的向向量中存入新的物料名稱,循環的依據就是每一次從輸入流中得到一種配料名稱之後
//然後通過循環判斷目前的向量中是否有這種配料名稱,如果有的話,直接跳出循環,如果沒有,就把這種原料添加進來
while(cin>>strr){
for(int i=0;i<str.size();i++){
if(str[i]==strr){
break;
}
else if(str[i]!=strr && i==str.size()-1){
str.push_back(strr);
k +=1;
}
}
cin.get();
}
cout<<k;
return 0;
}