Block Game.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C++, Java, Python, VB

El Granjero Juan está tratando de enseñarles a leer a sus vacas dándoles un conjunto de N tableros de deletreo usados tipicamente para preescolares (1 \le N \le 100). Cada tablero tiene una palabra y una imagen en cada lado. Por ejemplo, un lado podria tener la palabra "cat" (las vacas del Granjero Juan son gringas) junto con la figura de un gato, y el otro lado podría tener la palabra "dog" con la figura de un perro. Cuando todos los tableros están en el piso, se muestran por lo tanto "N" palabras. Volteando algunos de los tableros, se expone un nuevo conjunto de "N" palabras.Para ayudar a las vacas con su deletreo, el Granjero Juan quiere inventarse un número de bloques de madera, cada uno con una sola letra del alfabeto ingles. El quiere tener tantos bloques suficientes de cada letra de tal manera que sin importar que conjunto de N palabras estén expuestas con los tableros hacia arriba, de tal manera que las vacas puedan deletrerar todas esas palabras usando esos bloques. Por ejemplo, si N=3 y las palabras "box", "cat", y "car" están hacia arriba, las vacas necesitarian al menos un bloque "b", un bloque "o", un bloque "x" block, dos bloques "c" , dos bloques "a" , un bloque "t" , y un bloque "r". Por favor ayude al Granjero Juan a determinar el número mínimo de bloques de cada letra del alfabeto que él necesita proporcionar, de tal manera que independientemente de que lado de cada tablero se esté mostrando, las vacas puedan deletrear todas las N palabras visibles.

Entrada

La línea 1 contiene el entero N.

Cada una de las siguientes N líneas contiene 2 palabras separadas por un espacio, dando las dos palabras en los lados opuestos de un tablero. Cada palabra es una cadena de a lo más 10 letras minusculas.

Salida

Por favor de como salida 26 lineas. La primera linea debe contener un numero especificando el numero de copias de bloques "a" necesarios. La siguiente línea debe especificar el número de bloques "b" necesarios, y asi sucesivamente.

Ejemplo de Entrada

3
fox box
dog cat
car bus

Ejemplo de Salida

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

En este ejemplo, hay N=3 tableros, dando 2^3 = 8 posibilidades para el conjunto de palabras hacia arriba:

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

Necesitamos suficientes bloques de cada letra del alfabeto de tal manero que podamos deletrear todas las tres palabras independientemente de cual de esos ocho escenarios ocurra.


Comments

There are no comments at the moment.