问题6805--方块游戏

6805: 方块游戏

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 256 MiB

题目描述

【题目描述】

农夫约翰正试图教他的奶牛识字,给它们一套通常用于学龄前儿童(1N100)N个拼写板,. 每个拼写板的每一面都有一个单词和一个图像。例如,一方可能有“cat”这个词和一张猫的照片,另一方可能会有“dog”这个词和一只狗的照片。当拼写板放在地上时,因此显示N个单词。通过翻转一些板,可以显示一组不同的N个单词。

为了帮助奶牛拼写,农夫约翰想制作一些木块,每个木块上都印有字母表中的一个字母。他想为每个字母制作足够多的方块,这样无论哪一组N个单词出现在面朝上的木板上,奶牛都能用方块拼出所有这些单词。例如,如果N=3且单词“box”、“cat”和“car”朝上,奶牛至少需要一个“b”块、一个“o”块、一个“x”块、二个“c”块、两个“a”块、一个“t”块和一个“r”块。

请帮助农夫约翰确定他需要提供的字母表中每个字母的最小块数,这样无论每块板显示的是哪一面,奶牛都可以拼写所有N个可见单词。

【输入格式】(blocks.in):

1行包含整数N

接下来的N行各包含2个单词,用空格隔开,这两个单词位于板的相对两侧。每个单词是最多10个小写字母的字符串。

【输出格式】(blocks.out):

请输出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

【样例说明】

在这个例子中,有N3个板,对于一组向上的单词给出了2^38种可能性:

fox dog car

fox dog bus

fox cat car

fox cat bus

box dog car

box dog bus

box cat car

box cat bus

我们需要为字母表中的每个字母提供足够的块,以便我们能够拼写所有三个单词,而不管这八种情况中的哪一种。

来源/分类