OpenJudge

I:柱状图排序

总时间限制:
1000ms
内存限制:
65536kB
描述


输入
首先输入一个正整数T,表示测试数据的组数。接下来T组数据,每组数据由m行长度相等的字符串s_1~s_m构成,表示一个柱状图。这些字符串的最后一行一定形如“ABC…”,每个大写英文字母表示柱状图的一个项目名;之前的每一行都由字符“#”和字符“$”构成,每一个“#”表示一个单位高度的矩形,“$”表示空格,某一项目名上的“#”越多则该项目的值就越大。输入数据保证是一个合法的柱状图,即每一个项目上都最多只有一段连续的“#”,形如一个长长的柱。

数据范围:
1≤T≤100
1≤m≤100
1≤length(s_i )≤26且length(s_i )=length(s_j)
输出
对于每组数据,首先输出一行“Case #x:”,其中x为测试样例的编号。接下来输出一个正整数n,占一行,表示这个柱状图中项目的个数。
然后按照值从大到小的顺序输出n行,每行形如“X num”,X是一个大写英文字母,表示一个项目名,num是这个项目的值。如果两个项目的值相同,则按项目名在字母表中的顺序输出。
样例输入
2
$#$
$##
###
ABC
$$$$#
##$$#
##$##
#####
#####
ABCDE
样例输出
Case #1:
3
B 3
C 2
A 1
Case #2:
5
E 5
A 4
B 4
D 3
C 2

提示
在第一组样例中,A的值为1,B的值为3,C的值为2;在第二组样例中,A和B的值均为4,按照题意A排在B的前面。
来源
NWPU
全局题号
12538
添加于
2016-12-24
提交次数
22
尝试人数
6
通过人数
5