Entrada : una o dos cadenas de '0' y '1'. Si hay 2, están separados por un espacio. Todas las cadenas tienen una longitud de al menos 1.
Salida : si se ingresó una cadena, se emiten 2. Si se ingresaron 2, se emite 1. Las cadenas de salida pueden ser lo que quieras, pero si ejecutar tu programa con la entrada A te da B, entonces ejecutarlo con B debe dar A (si ingresar 111 11
da 00000
, entonces la entrada 00000
debe dar 111 11
).
Eso significa que si canaliza su programa a sí mismo, debería recuperar lo que ingresó. Si su programa se llama foo, puede probarlo así:
>echo 101 101|foo|foo
101 101
Para evitar el uso de técnicas de fuerza bruta, su código debe poder ejecutarse con cadenas de 1000 dígitos en menos de 10 segundos. Mi solución de Python para esto toma menos de 1 segundo en cadenas de 10,000 dígitos, por lo que esto no debería ser un problema.
El código más corto gana.
if x not in d:
conif(x in d)-1:
y guardar un byte.