99 Variedades de Dosa é uma cadeia popular de barracas de dosa na estrada no sul da Índia. Isso é inspirado por uma combinação dessa cadeia e pelo clássico desafio do CodeGolf "99 garrafas de cerveja".
Recrie a variante do menu das populares '99 Variedades de Dosa 'listadas abaixo.
(Nota: apesar do nome, a lista contém 103 variedades e não exatamente 99)
A saída desejada é a seguinte lista (em qualquer ordem):
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
fonte
fonte
code golf
e nãofastest gun
. Você deve dar ao desafio algum tempo (uma semana ou mais) antes de aceitar uma resposta. Mas você sempre pode alterar a resposta aceita.Respostas:
Python 2 ,
503496487485479476 bytesExperimente online!
Toda dose é da forma
a [Paneer, Cheese] b Dosa
Cada dosa é então codificado em uma lista de tuplas de
(a,b)
. Há muitos dosa ondea
oub
está vazio.Para cada uma dessas tuplas, todas as combinações de
Paneer
eCheese
são adicionadas entre elas... '86'[i<2:1+i%2] .. for i in(0,1,2,3) ..
Os poucos casos especiais ligeiramente diferentes são:
Kerala Dosa
,Kerala Cheese Dosa
VsPaneer Kerala Dosa
,Paneer Cheese Kerala Dosa
Kerala
é movido dea
parab
se tivermosPaneer
.. '<~~<'[i%2::2] ..
que dá['Kerala','']
ou['','Kerala']
Schezwan Corn Mushroom Paneer Cheese Dosa
Corn
é inserido se tivermosPaneer Cheese
.. '4..'[i<3:] ..
Onion Masala Dosa
,Onion Paneer Masala Dosa
VsCheese Onion Masala Dosa
,Paneer Cheese Onion Masala Dosa
Onion
é movido dea
parab
se tivermosCheese
.. '~11~'[i<2::2] ..
, semelhante aoKerala
acimaPav Bhaji Cheese Paneer Dosa
Paneer
eCheese
são trocados sea
forPav 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']
No final, os números são substituídos pelas palavras corretas:
0123456789:;<
->Masala Onion Schezwan Uttappam Corn Mushroom Paneer Sada Cheese Chilli Mysore Sweet Kerala
fonte
Retina 0.8.2 , 339 bytes
Experimente online! Isso foi 299 bytes antes de eu descobrir os casos de borda ...
fonte
Python 2, 436 bytes
Descomprime a sequência
sada dosa\ncheese sada dosa\n…\n
e imprime o resultado em maiúsculas.Aqui está um script do Bash que cria o programa, imprime seu tamanho e hexdump e o executa.
fonte
JavaScript (Node.js) , 602 bytes
obrigado por @Shaggy por atualizar de acordo com o novo menu e uso da base 36 + array split :)
Experimente online!
fonte
o="Uttappam", "Mixed "+o
<- isso é inteligente, não sabia que você poderia fazer isso #05AB1E , 380 bytes
Experimente online!
fonte
/// , 540 bytes
Experimente online!
Não é a compressão mais incrível, mas ainda assim.
fonte
PHP,
425421 bytesbatendo Python novamente. feliz.
Corra com
-nr
ou experimente online .fonte
Ruby, 448 bytes
fonte