99 Varieties of Dosa es una popular cadena de puestos de dosa en carretera en todo el sur de la India. Esto está inspirado en una combinación de esta cadena y el clásico desafío CodeGolf "99 Botellas de cerveza".
Recree la variante del menú de las populares '99 variedades de Dosa 'que se enumeran a continuación.
(Nota: a pesar del nombre, la lista contiene 103 variedades y no exactamente 99)
La salida deseada es la siguiente lista (en cualquier orden):
Sada Dosa
Cheese Sada Dosa
Paneer Sada Dosa
Paneer Cheese Sada Dosa
Schezwan Sada Dosa
Cheese Schezwan Sada Dosa
Paneer Schezwan Sada Dosa
Paneer Cheese Schezwan Sada Dosa
Onion Sada Dosa
Cheese Onion Sada Dosa
Paneer Onion Sada Dosa
Paneer Cheese Onion Sada Dosa
Chutney Dosa
Cheese Chutney Dosa
Paneer Chutney Dosa
Paneer Cheese Chutney Dosa
Tomato Onion Dosa
Cheese Tomato Onion Dosa
Paneer Tomato Onion Dosa
Paneer Cheese Tomato Onion Dosa
Schezwan Onion Dosa
Cheese Schezwan Onion Dosa
Paneer Schezwan Onion Dosa
Paneer Cheese Schezwan Onion Dosa
Jain Dosa
Jain Cheese Dosa
Jain Paneer Dosa
Jain Paneer Cheese Dosa
Masala Dosa
Cheese Masala Dosa
Paneer Masala Dosa
Paneer Cheese Masala Dosa
Onion Masala Dosa
Onion Paneer Masala Dosa
Cheese Onion Masala Dosa
Paneer Cheese Onion Masala Dosa
Schezwan Masala Dosa
Cheese Schezwan Masala Dosa
Paneer Schezwan Masala Dosa
Paneer Cheese Schezwan Masala Dosa
Mysore Masala Dosa
Paneer Mysore Masala Dosa
Cheese Mysore Masala Dosa
Paneer Cheese Mysore Masala Dosa
Paneer Cheese Schezwan Mysore Masala Dosa
Kerala Dosa
Kerala Cheese Dosa
Paneer Kerala Dosa
Paneer Cheese Kerala Dosa
Pav Bhaji Dosa
Pav Bhaji Cheese Dosa
Pav Bhaji Paneer Dosa
Pav Bhaji Cheese Paneer Dosa
Spring Vegetable Dosa
Spring Paneer Vegetable Dosa
Spring Cheese Vegetable Dosa
Spring Paneer Cheese Vegetable Dosa
Sweet Corn Dosa
Sweet Corn Cheese Dosa
Sweet Corn Paneer Dosa
Sweet Corn Paneer Cheese Dosa
Sweet Corn Schezwan Dosa
Sweet Corn Schezwan Paneer Dosa
Sweet Corn Schezwan Cheese Dosa
Sweet Corn Schezwan Paneer Cheese Dosa
Sweet Corn Mushroom Dosa
Sweet Corn Mushroom Paneer Dosa
Sweet Corn Mushroom Cheese Dosa
Sweet Corn Mushroom Paneer Cheese Dosa
Mushroom Dosa
Mushroom Cheese Dosa
Mushroom Paneer Dosa
Mushroom Paneer Cheese Dosa
Schezwan Mushroom Dosa
Schezwan Mushroom Paneer Dosa
Schezwan Mushroom Cheese Dosa
Schezwan Corn Mushroom Paneer Cheese Dosa
Paneer Chilli Dosa
Paneer Chilli Cheese Dosa
Mushroom Chilli Dosa
Mushroom Chilli Cheese Dosa
Mushroom Chilli Paneer Dosa
Mushroom Chilli Paneer Cheese Dosa
Sada Uttappam Dosa
Sada Uttappam Cheese Dosa
Sada Uttappam Paneer Dosa
Sada Uttappam Paneer Cheese Dosa
Onion Uttappam Dosa
Onion Uttappam Cheese Dosa
Onion Uttappam Paneer Dosa
Onion Uttappam Paneer Cheese Dosa
Masala Uttappam Dosa
Masala Uttappam Cheese Dosa
Masala Uttappam Paneer Dosa
Masala Uttappam Paneer Cheese Dosa
Mysore Uttappam Dosa
Mysore Uttappam Cheese Dosa
Mysore Uttappam Paneer Dosa
Mysore Uttappam Paneer Cheese Dosa
Mixed Uttappam Dosa
Mixed Uttappam Cheese Dosa
Mixed Uttappam Paneer Dosa
Mixed Uttappam Paneer Cheese Dosa
code-golf
kolmogorov-complexity
msamogh
fuente
fuente
code golf
y nofastest gun
. Debería darle al desafío algún tiempo (una semana más o menos) antes de aceptar una respuesta. Pero siempre puedes cambiar la respuesta aceptada.Respuestas:
Python 2 ,
503496487485479476 bytesPruébalo en línea!
Cada dosa es de la forma
a [Paneer, Cheese] b Dosa
Cada dosa se codifica en una lista de tuplas de
(a,b)
. Hay muchos dosa dondea
ob
está vacío.Para cada una de estas tuplas, cada combinación de
Paneer
yCheese
se agrega entre ellas... '86'[i<2:1+i%2] .. for i in(0,1,2,3) ..
Los pocos casos especiales que son ligeramente diferentes son:
Kerala Dosa
,Kerala Cheese Dosa
VsPaneer Kerala Dosa
,Paneer Cheese Kerala Dosa
Kerala
se mueve dea
ab
si tenemosPaneer
.. '<~~<'[i%2::2] ..
que da['Kerala','']
o['','Kerala']
Schezwan Corn Mushroom Paneer Cheese Dosa
Corn
se inserta si tenemosPaneer Cheese
.. '4..'[i<3:] ..
Onion Masala Dosa
,Onion Paneer Masala Dosa
VsCheese Onion Masala Dosa
,Paneer Cheese Onion Masala Dosa
Onion
se mueve dea
ab
si tenemosCheese
.. '~11~'[i<2::2] ..
, similar alKerala
anteriorPav Bhaji Cheese Paneer Dosa
Paneer
yCheese
se intercambian sia
esPav Bhaji
.. '86'[i<2:1+i%2][::2*('v'in a)-1] ..
Paneer Cheese Schezwan Mysore Masala
`Paneer Chilli
`Paneer Chilli Cheese
.. +['682:0','69','698']
Al final, los números se reemplazan con las palabras correctas:
0123456789:;<
->Masala Onion Schezwan Uttappam Corn Mushroom Paneer Sada Cheese Chilli Mysore Sweet Kerala
fuente
Retina 0.8.2 , 339 bytes
Pruébalo en línea! Esto fue de 299 bytes antes de descubrir los casos extremos ...
fuente
Python 2, 436 bytes
Descomprime la cadena
sada dosa\ncheese sada dosa\n…\n
e imprime el resultado en mayúsculas y minúsculas.Aquí hay una secuencia de comandos Bash que crea el programa, imprime su tamaño y hexdump, y lo ejecuta.
fuente
JavaScript (Node.js) , 602 bytes
gracias por @Shaggy por actualizar de acuerdo con el nuevo menú y el uso de base 36 + matriz dividida :)
Pruébalo en línea!
fuente
o="Uttappam", "Mixed "+o
<- eso es inteligente, no sabía que podía hacer esto05AB1E , 380 bytes
Pruébalo en línea!
fuente
/// , 540 bytes
Pruébalo en línea!
No es la compresión más sorprendente, pero aún así.
fuente
PHP,
425421 bytessuperando a Python nuevamente. contento.
Ejecutar
-nr
o probarlo en línea .fuente
Rubí, 448 bytes
fuente