题意:
给出n个字符串,统计出现1、2、..n次的字符串各有多少种
解法:
字符串hash,我用的强大无比的Java的HashMap,非常给力~
代码:
1 import java.io.*;
2 import java.util.*;
3 public class Main {
4
5 /**
6 * @param args
7 */
8 public static void main(String[] args) throws IOException{
9 BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
10 HashMap<String,Integer> refer=new HashMap<String,Integer>();
11 int cal[]=new int[20001];
12 while(true)
13 {
14 String tmp[]=in.readLine().split(" ");
15 if(Integer.parseInt(tmp[0])==0&&Integer.parseInt(tmp[1])==0) break;
16 int n=Integer.parseInt(tmp[0]);
17 refer.clear();
18 for(int i=0;i<n;i++)
19 {
20 String str=in.readLine();
21 if(refer.containsKey(str)) refer.put(str,refer.get(str)+1);
22 else refer.put(str, 1);
23 }
24 Arrays.fill(cal,0);
25 for(int i:refer.values())
26 cal[i]++;
27 for(int i=1;i<=n;i++)
28 System.out.println(cal[i]);
29
30 }
31
32 }
33
34 }