某云站点有一批服务器待下线,已知这些服务器所对应的物料编码(代表不同服务器型号的标识字符串),特定物料编码本身已包含CPU/内存/主板等备件型号,请计算出这批服务器下线后可回收不同的CPU/内存/主板型号和数量。物科编码只包含大写英文字母和数字,其中一定包含三类备件型号,它的固定格式是一个大写字母+两个数字。字母C代表CPU,M代表内存Memory,B代表主板Board。其他字母和数字可忽略,同类备件存在多个型号时取第一个。
第一行为服务器个数 N ,范围是 [1,1000];
我们有 N 台服务器的物料编码,每个编码中分别包含一段代表 CPU 型号的子串(格式为C
后跟两位数字)、一段代表内存型号的子串(M
+两位数字)、一段代表主板型号的子串(B
+两位数字)。每个编码中,这三类备件可能出现多次,但我们只取各自第一次出现的型号;然后统计所有服务器下线后,可回收的不同型号及对应数量,按型号字典序输出。
核心问题是:如何从字符串中高效提取固定格式子串,并统计。
C\d{2}
M\d{2}