http://acmicpc-live-archive.uva.es/nuevoportal/data/icono.gif

2799 - Carbon Copies
Asia - Manila - 2003/2004

PDF

PostScript

Submit

 

Ranking

 

Los Compuestos orgánicos son moléculas principalmente compuestas de carbón. Los vínculos de los átomos y las moleculares que comprenden una cierta molécula compuesta orgánica  pueden ser esquematizados de varios modos. Dos diagramas pueden parecer diferentes, pero en realidad representan el mismo compuesto orgánico. Estos 2 diagramas describen la misma molécula (CH3CHO). 

 

http://acmicpc-live-archive.uva.es/nuevoportal/data/2799a.gif

Esto es porque ambas tienen 2 átomos de carbón los cuales tienen un único vínculo sola entre ellos, y un átomo de carbón con un doble vínculo con oxígeno (O) y el resto de cadenas están con  hidrógeno (H). Sin cambiar los átomos o romper las cadenas moleculares, los átomos pueden ser movidos alrededor de modo que 2 diagramas se hagan idénticos.

Estos 2 diagramas no son equivalentes, aunque ellos tengan la misma fórmula química (C4H8).

http://acmicpc-live-archive.uva.es/nuevoportal/data/2799b.gif

La primera molécula tiene una doble cadena entre el primer y segundo átomo de carbón, y la segunda molécula tiene una doble cadena entre el segundo y el tercer átomo de carbón. Los átomos del segundo diagrama no pueden ser movidos alrededor  de modo que los 2 diagramas lleguen a ser  idénticos. En general, dos diagramas son similares si

1.)   Ambos átomos  pueden ser etiquetados de esa manera por cada par de átomos correspondientes, los 2 átomos son del mismo elemento y

2.)   Ellos se encadenan con el mismo número de otros átomos para cada tipo(elemento), y

3.)   Se encadenan con cada átomo, que tienen el mismo tipo de cadena. Crea un programa que determine si 2 diagramas representan el mismo componente orgánico. Este programa no tiene que manejar moléculas con anillos (i.e La cadena molecular de un anillo donde sea dentro de la molécula).

Datos de Entrada

El programa acepta de 1-3 casos de prueba. Siguiendo el último caso de pruebas en una única línea conteniendo  "#".

Para cada caso de prueba, la primera línea contiene 2 números, A (1 <= A <= 300) y b (0 <= b <= 299), donde A es igual al número de átomos, y b es igual al número de cadenas entre átomos.

Las siguientes líneas contienen símbolos de átomos para cada átomo (longitud de 1 o 2) en la primera molécula. Los símbolos atómicos entran en un caso normal, i.e caso superior  la primera letra, y el caso inferior la segunda letra en el caso de 2 símbolos de letras. Los átomos son etiquetados 1, 2,3, y así sucesivamente, se ingresan secuencialmente. Si menos de A números de átomos han sido leídos muy lejos, lee la siguiente línea hasta que los átomos de A hayan  sido leídos.

Las siguientes b líneas representan las cadenas entre los átomos en la primera molécula, y cada línea tiene 3 números separados con únicos espacios.  El primer número es la etiqueta del primer átomo (como etiquetado en la secuencia del símbolo atómico), y el segundo número es la etiqueta del otro átomo, y número tercero es el tipo de cadenas (1=solo una cadena, 2=Doble cadena, 3= Tripe cadena).

La siguiente línea es la secuencia de los símbolos atómicos para segunda molécula. De nuevo, lee las líneas sucesivas hasta que los átomos A sean leídos. Luego las ultimas b líneas representan las cadenas entre los átomos en la segunda molécula.

Asume que los datos de Entrada  siguen las reglas de composición química, como la regla de octava.

Datos de Salida

Para cada caso de prueba, el programa debe imprimir “EQUAL”(igual) si las 2 representaciones representan  la misma molécula y si no son iguales “NOT EQUAL” (no igual).

 

Muestra de Datos de Entrada

3 2

H O H

1 2 1

2 3 1

H H O

1 3 1

2 3 1

8 7

C C O H H H O H

1 2 1

1 6 1

1 7 1

2 3 1

2 4 1

2 5 1

3 8 1

C H O H C H O H

1 2 1

1 3 1

1 4 1

5 1 2

5 6 1

5 7 1

3 8 1

#

Muestra de Datos de Salida

EQUAL

NOT EQUAL


Manila 2003-2004

 

Traducido por: Roxana Heredia Vargas