每个输入包含 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 ;
}