|
|
2799 - Carbon Copies |
||||
|
|
|||||
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).

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).

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