Desafio
Dada uma composição de quarks de uma partícula como entrada, produza o nome do hadron correspondente.
Os quarks serão representados por uma letra maiúscula e os antiquarks por uma letra minúscula.
Os quarks podem estar em qualquer ordem, não necessariamente na ordem fornecida abaixo.
Funções internas os dados de acesso sobre partículas e / ou quarks não são permitidos.
Os únicos quarks que você recebe são U (para cima), u (anti-ataque), D (para baixo), d (antidown), S (estranho), s (antistrange), C (charme), c (anticharma), B ( fundo ou beleza), b (antibotomia ou antibeleza).
Lista de Hadrons e suas composições de quarks
Observe que, embora existam vários outros hadrons, como pentaquarks e glueballs, etc., você só precisa suportar os hadrons fornecidos nas listas a seguir
Bariões (QQQ) e Antibários (qqq)
Os nomes entre parênteses são nomes alternativos para as partículas. Você pode gerar um ou outro nome.
Input - Output
UUU - delta++
uuu - antidelta++
UUD - delta+ (proton)
uud - antidelta+ (antiproton)
UDD - delta0 (neutron)
udd - antidelta0 (antineutron)
DDD - delta-
ddd - antidelta-
UUS - sigma+
uus - antisigma+
UDS - sigma0
uds - antisigma0
DDS - sigma-
dds - antisigma-
USS - xi0
uss - antixi0
DSS - xi-
dss - antixi-
SSS - omega-
sss - antiomega-
UUC - charmed sigma++
uuc - charmed antisigma++
UDC - charmed sigma+
udc - charmed antisigma+
DDC - charmed sigma0
ddc - charmed antisigma0
UUB - bottom sigma+
uub - bottom antisigma+
UDB - bottom sigma0
udb - bottom antisigma0
DDB - bottom sigma-
ddb - bottom antisigma-
USC - charmed xi+
usc - charmed antixi+
DSC - charmed xi0
dsc - charmed antixi0
UCC - double charmed xi++
ucc - double charmed antixi++
DCC - double charmed xi+
dcc - double charmed antixi+
USB - bottom xi0
usb - bottom antixi0
DSB - bottom xi-
dsb - bottom antixi-
UBB - double bottom xi0
ubb - double bottom antixi0
DBB - double bottom xi-
dbb - double bottom antixi-
UCB - charmed bottom xi+
ucb - charmed bottom antixi+
DCB - charmed bottom xi0
dcb - charmed bottom antixi0
SSC - charmed omega0
ssc - charmed antiomega0
SSB - bottom omega-
ssb - bottom antiomega-
SCC - double charmed omega+
scc - double charmed antiomega+
SCB - charmed bottom omega0
scb - charmed bottom antiomega0
SBB - double bottom omega-
sbb - double bottom antiomega-
CCB - double charmed bottom omega+
ccb - double charmed bottom antiomega+
CBB - charmed double bottom omega0
cbb - charmed double bottom antiomega0
CCC - triple charmed omega++
ccc - triple charmed antiomega++
BBB - triple bottom omega-
bbb - triple bottom antiomega-
Mésons (Qq)
Input - Output
Ud - pion+
Uu - pion0
Dd - pion0
Du - pion-
Us - kaon+
Ds - kaon0
Sd - antikaon0
Su - kaon-
Ss - phion0
Cd - D meson+
Dc - D meson-
Cu - D meson0
Uc - antiD meson0
Cs - strange D meson+
Sc - strange D meson-
Cc - psion0
Bu - B meson-
Ub - B meson+
Db - B meson0
Bd - antiB meson0
Sb - strange B meson0
Bs - strange antiB meson0
Bb - upsilon0
Ganhando
O menor código em bytes vence.
fonte
ParticleData
função com umaQuarkContent
opção.Cb
eBc
estão ausentes. Isso é intencional? 2. Encomendar as letras de maneira diferente significaria a mesma coisa - nosso programa deve ser capaz de lidar com diferentes ordens de letras ou elas sempre serão solicitadas como mostrado? (ou seja, será sempreUDS
por exemplo ou poderia serSUD
ouDSU
por exemplo?) Da mesma forma que mésons poderíamos teruD
?Respostas:
SOGL 0,11 ,
341339333310305305300 bytesfonte
JavaScript (ES6),
456448431420 bytesEste código está usando apenas duas pequenas tabelas de pesquisa:
Todo o resto é deduzido dos quarks.
Mostrar snippet de código
fonte
Perl 5, 318 bytes
Novas linhas adicionadas para facilitar a leitura (ligeiramente):
fonte