网易2016校招内推笔试编程题
1、下厨房 牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。 输入描述: 每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50 行,每一行不超过 50 个字符。 输出描述: 输出一行一个数字表示完成所有料理需要多少种不同的材料。 输入例子: BUTTER FLOUR HONEY FLOUR EGG 输出例子: 4 读入所有材料,去掉其中重复的即可,可理解为容器的去重问题。stl中容器的排序也支持字符串排序,所以先将vector中的字符串排序,相同的材料名就变成相邻的,去重,容器剩下的大小即为所需不同材料数。 #include <iostream> #include <deque> #include <string> #include <vector> #include <algorithm> #include <stdlib.h> using namespace std; int main() { vector<string> mats; char tmp[50]; while(scanf("%s",tmp)!=EOF) { mats.push_back(tmp); } sort(mats.begin(),mats.end())