CCO ’99 P2 – Common Words

Canadian Computing Competition: 1999 Stage 2, Day 1, Problem 2

Given a sequence of  words from a newspaper article and an integer , find the  most common word(s).

Input Specification

Input will consist of an integer  followed by  data sets. Each data set begins with a line containing  and , followed by  lines, each containing a word of up to  lowercase letters. There will be no more than  words per data set.

Output Specification

For each input data set, determine the  most common word(s). To be precise, a word  is the  most common if exactly  distinct words occur more frequently than  in the data set. Note that  might be multiply defined (i.e. there is a tie for the  most common word) or  might not exist (i.e. there is no  most common word). For each data set, print a title line indicating  using normal ordinal notation (1st, 2nd, 3rd, 4th, 5th, …) followed by a number of lines giving all the possible values for the  most common word. A blank line should follow the last word for each data set.

Sample Input

Copy

3
7 2
the
brown
the
fox
red
the
red
1 3
the
2 1
the
wash

Sample Output

Copy

2nd most common word(s):
red

3rd most common word(s):

1st most common word(s):
the
wash

Solution