Copiado al portapapeles
Descripción
Dada una cadena de caracteres, compuesta por letras del alfabeto latino en mayúsculas y minúsculas (a-z, A-Z; sin ñ), verificar si es posible emparejas sus elementos tal que se empareje cada letra mayúscula con su correspondiente letra minúscula sin cruzarse con otros emparejamientos. Decimos que un emparejamiento se cruza con otro si al dibujarlos como líneas que los conectan por encima de las letras, las líneas se cruzan.
Además, se tiene una condición extra para los emparejamientos: cuando se emparejan dos letras, la letra mayúscula debe estar a la izquierda de la letra minúscula en la cadena.
Por ejemplo, si se tiene la siguiente cadena:
Se puede emparejar la letra C con la letra c, la letra A con la letra a y la letra b con la letra B sin que las líneas que los conectan se crucen.
En cambio, si se tiene la siguiente cadena:
No es posible emparejar las letras b y B sin que las líneas que los conectan se crucen con las líneas que conectan a las letras x y X.
Si es posible emparejar las letras de la cadena de entrada, imprimir SI, en caso contrario, imprimir NO.
Entrada
La primera y única línea de la entrada contiene una cadena de caracteres s, compuesta por letras del alfabeto latino en mayúsculas y minúsculas (a-z, A-Z; sin ñ).
Límites
- \(|s| \le 10^5\).
Siendo \(|s|\) la longitud de la cadena s.
Subtareas
- (5 puntos) \(|s|\) es impar.
- (11 puntos) \(|s| = 2\).
- (30 puntos) Todas las letras son a o A.
- (54 puntos) Sin restricciones adicionales.
Salida
Una línea con la palabra SI si es posible emparejar las letras de la cadena de entrada, o la palabra NO en caso contrario.
Debes tener en cuenta que la respuesta debe ser en mayúsculas. Si imprimes si, Si o nO, el juez considerará tu respuesta como incorrecta.