import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
public class Main
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuffer sb=new StringBuffer("");
String input;
int testcases=Integer.parseInt(br.readLine());
br.readLine();
for (int t = 0; t < testcases; t++)
{
if(t>0)
sb.append("\n");
TreeMap tm=new TreeMap<>();
int count=0;
while((input=br.readLine())!=null)
{
if(input.trim().equals(""))
break;
count++;
if(tm.containsKey(input))
{
tm.put(input,tm.get(input)+1);
}
else
{
tm.put(input,1);
}
}
Set> set=tm.entrySet();
Iterator> i=set.iterator();
while(i.hasNext())
{
Map.Entry me=(Map.Entry)i.next();
double fraction=((double)me.getValue()/count)*100;
DecimalFormat df=new DecimalFormat("0.0000");
sb.append(me.getKey()+" "+df.format(fraction));
sb.append("\n");
}
}
System.out.print(sb);
}
}
0 comments: