1241 - 拼写板游戏(USACO 2016)

通过次数

7

提交次数

8

时间限制 : 1 秒
内存限制 : 128 MB

农场主约翰给他的奶牛一组N个拼写板(1≤N≤100)来教它们阅读,这些拼写板通常是学龄前儿童使用的。每块板的每一面都有一个单词和一个图像。例如,一边可能有单词“cat”和一张猫的照片,另一边可能有单词“dog”和一张狗的照片。当拼写板放在地上时,就会显示N个单词。通过翻转一些黑板,可以暴露出一组不同的N个单词。
为了帮助奶牛拼写,农夫约翰想做一些木块,每块木块上都有一个字母。他想让每一个字母都有足够多的块,这样无论哪一组N个单词出现在朝上的黑板上,奶牛都能用这些块拼出所有这些单词。例如,如果N=3,单词“box”、“cat”和“car”朝上,奶牛至少需要一个“b”块、一个“o”块、一个“x”块、两个“c”块、两个“a”块、一个“t”块和一个“r”块。
请帮助农民John确定他需要提供的字母表中每个字母的最小块数,这样不管每块板的正面是什么,奶牛都能拼出所有N个可见的单词。

输入

第1行包含整数N。
接下来的N行每一行包含2个单词,由一个空格隔开,表示拼写板的正反两面的两个单词。每个单词最多由10个小写字母组成。

输出

请输出26行。第一个输出行应该包含一个数字,指定所需的“a”块的数量。下一行应该指定所需的“b”块的数量,以此类推。

样例

输入

3
fox box
dog cat
car bus

输出

2
2
2
1
0
1
1
0
0
0
0
0
0
0
2
0
0
1
1
1
1
0
0
1
0
0

输入

100
js koel
ynzeav aceazui
ydypvmgyx lhppuunk
tkqtmv nuuvjva
mvvuvsvh kywh
gchqvdcqd mz
xwn ikzfgta
tnlpwzva nvkplpfaot
ngexrfcz dmus
lo iokvkwkx
rxbl ot
omeqlftx lzkb
sqmncia vrzyeupyvd
btwhp gcwteylw
byubxru szshxpm
rhfawdibzb ypdksb
ta pzs
r nj
zcxecvjm jqdjhgvzj
ukf jzac
pnsoppvtle jpy
yfvuefyy dj
d egbsyp
omfbrn ilzhsvb
czwtdfvir osvmjfcy
d zq
kpge jaojyjofe
wim dac
dawitxysj zncipttnc
tjhrtvkwwo bqhjjfkb
acc nrxihcsan
tgxdcttn j
fs rwqtyuy
mxwvbqxorq owzhpmdzj
rlcncyoywb vzhxpen
vivthf vkhfx
qaquyetw fthns
rggoqbhxiq v
zscqutms fqjnmtae
tmykcbr kj
hltzn ui
okf vsto
z qmeao
r sdmzohydt
otjyy ttlknmqdy
dpbxftatuq stvphoa
psdifnxr bqaghd
oyhhsxhntd ctc
iupqzeqsj kmzr
hfoooioy jdxnwbzhvq
wuprgibsit pazf
itpf sfsqgrx
k cgmtmvvg
qq spdjxza
dukv qpkuzjzhws
tpcafsyai jham
egwbtpq lrnkbld
guzgcsecci li
yogw z
ifxc hdgmanjztl
anviaj chhkdxlrf
ohmx smmhv
dihdvfnxo bxmlclxvro
acjp xbe
rhcbm gzwwgyvtlz
ivxyg appzo
dik mlwltxi
dioytnfeie pehgvgv
jfavsnt iqnbvxpu
cz nfdc
k h
hxdnz hormwjcxf
ob rcveh
itnsdgacjp i
sbmrnoq sfvoyxkeg
ma g
gihq nazgdmzq
piuud ucvyjimliv
pdzhf hevksudvjl
grcavx ehlrqgjh
jqt zztjsnopy
get fq
exq oi
yro hjhgia
cpgrni s
hztp qhwh
yfio p
xvgxniovab atgj
zazsi zzwei
ux r
qqkzef hi
dqmx mx
wt w
ogckdl adtkczpf
zikp j
jg fbb
trhvcnif mbaqapyj
gvgdfp lir
jvgaed t
kjclj naqzr

输出

40
30
42
41
30
39
40
45
43
44
31
28
35
39
38
42
41
34
39
49
26
50
28
39
40
49

提示

在这个例子中,有N=3个板子,给出了23=8种向上排列单词的可能性:

fox dog car
fox dog bus
fox cat car
fox cat bus
box dog car
box dog bus
box cat car
box cat bus

我们需要足够的积木来拼出字母表中的每个字母,这样我们就可以拼出所有的三个单词,而不管这八个场景中出现的是哪一个。