网易校招题目描述
牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。
输入描述:
每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i
件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50 行,每一行不超过 50 个字符。
输出描述:
输出一行一个数字表示完成所有料理需要多少种不同的材料。
示例1
输入
BUTTER FLOUR
HONEY FLOUR EGG
输出
4
最简单的方法就是用set,用vector会麻烦点。
#include<iostream>
#include <vector>
#include<algorithm>
#include <cstring>
using namespace std;
int main(int argc, char const *argv[])
{
vector<string> v;
string tmp;
while(cin>>tmp){
v.push_back(tmp);
}
sort(v.begin(), v.end());
v.erase( unique(v.begin(),v.end() ),v.end() );
cout<<v.size()<<endl;
return 0;
}
这是用set的简单方法。
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
string str;
set<string> datas;
while (cin >> str) {
datas.insert(str);
}
cout << datas.size() << endl;
return 0;
}
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址:https://www.linuxidc.com/Linux/2018-09/154290.htm