每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50 行,每一行不超过 50 个字符。
输出一行一个数字表示完成所有料理需要多少种不同的材料。
BUTTER FLOUR HONEY FLOUR EGG
4
本题有一个难点,就是输入的行数不确定,也就是键盘输入几行就是几行,因此我们需要使用Scanner.class.hasNext()方法进行判断,该方法返回boolean类型的值,当键盘手动输入结束时才会返回false,window环境下使用ctrl+z结束输入循环,linux环境下使用ctrl+d结束输入循环。
import java.util.HashSet;
import java.util.Scanner;
public class Main {
//下厨房
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
HashSet<String> set = new HashSet<String>();
while(in.hasNext()){
String str = in.nextLine();
String arr[] = str.split(" ");
for(int i=0; i<arr.length; i++){
set.add(arr[i]);
}
}
System.out.println(set.size());
set.clear();
}
}
//用vector写的
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main(){
string food;
vector<string> iVec;
int count = 0;
while(cin>>food){
auto it = find(iVec.begin(),iVec.end(),food);
if (it == iVec.end())
iVec.push_back(food);
}
cout<<iVec.size()<<endl;
return 0;
} import java.util.Scanner;
import java.util.HashSet;
import java.util.Set;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
Set<String> hs = new HashSet<>();
while(sc.hasNext()){
String[] strs = sc.nextLine().split(" ");
for(int i=0;i<strs.length;i++){
hs.add(strs[i]);
}
}
System.out.println(hs.size());
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
HashSet<String> set = new HashSet<>();
String line;
while((line = br.readLine()) != null){
String[] items = line.split(" ");
for(String item: items){
set.add(item);
}
}
System.out.println(set.size());
}
} import java.util.*;
public class Main{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
HashSet<String> hs=new HashSet<>();
while(input.hasNext()){
String s=input.nextLine();
String[] str=s.split(" ");
for(int i=0; i<str.length; i++)
hs.add(str[i]);
}
System.out.println(hs.size());
}
}
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String> list = new ArrayList<>();
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] s = line.split(" ");
map(s, list);
}
System.out.println(list.size());
}
public static void map(String[] s, List list) {
for (String str : s) {
if (list.contains(str)) {
continue;
}
list.add(str);
}
}
}
int main()
{
map a ;
string s ;
while(cin>>s)
{
a[s] ;
}
cout<<a.size ()<<endl ;
}