Beri nama Hadron

19

Tantangan

Diberikan komposisi kuark dari suatu partikel sebagai input, output nama hadron yang sesuai

Quark akan diwakili oleh huruf kapital dan antiquarks dengan huruf kecil.

Kuark mungkin dalam urutan apa pun, belum tentu urutan yang diberikan di bawah ini.

Fungsi bawaan data akses tentang partikel dan / atau quark tidak diizinkan.

Satu-satunya quark yang akan diberikan adalah U (atas), u (antiup), D (bawah), d (antidown), S (aneh), s (antistrange), C (pesona), c (anticharm), B ( bawah atau cantik), b (antibottom atau antibeauty).

Daftar Hadron dan komposisi kuark mereka

Perhatikan bahwa meskipun ada berbagai hadron lain seperti pentaquark dan glueballs dll., Anda hanya perlu mendukung hadron yang diberikan dalam daftar berikut

Baryons (QQQ) dan Antibaryons (qqq)

Nama-nama dalam tanda kurung adalah nama alternatif untuk partikel. Anda dapat menampilkan salah satu nama.

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-

Meson (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

Kemenangan

Kode terpendek dalam byte menang.

Peluruhan Beta
sumber
11
Fungsi bawaan data akses tentang partikel dan / atau quark tidak diizinkan. Aku melihatmu, Mathematica.
Okx
Jadi, tantangan ini pada dasarnya adalah untuk mengompres dan melihat ke atas meja?
Rohan Jhunjhunwala
3
Mathematica memang memiliki ParticleDatafungsi dengan QuarkContentopsi.
Ian Miller
1
Tidak terlihat sulit. Maksud saya, setiap quark memiliki muatan listrik sendiri, Anda hanya perlu menangani namanya, bukan muatannya.
Matius Roh
1
1. Tampaknya baryon dapat berupa kombinasi dari 3 quark dari kasus yang sama. Meson adalah kombinasi dari 2 quark dari kasus yang berlawanan, tetapi untuk meson Cbdan Bchilang. Apakah ini disengaja? 2. Memesan huruf secara berbeda akan berarti hal yang sama - haruskah program kami dapat menangani urutan surat yang berbeda, atau akankah mereka selalu dipesan seperti yang ditunjukkan? (yaitu apakah akan selalu menjadi UDScontoh atau dapatkah itu SUDatau DSUmisalnya?) Demikian pula untuk meson yang dapat kita miliki uD?
Level River St

Jawaban:

5

SOGL 0,11 , 341 339 333 310 305 305 300 byte

‘θw±
on”≥
0c{≤
”=?"▒
on0”←"█
c SW?"▲
?ļ0←j ►
?"anti”o}▼
SD”;W¡+}□
=?ļ-←ļ+←■
‘B≤a=+}:?"⁽¬Τk⅜K±l?@+}ob@+o}▓
UCl2-? CA"K¼⁶▓ BA"δ╬▓cd≠▼≤: U=; D=++}"8}↕x╔:⁵F┘¹±o≤"B□"κ§)Ƨ7%s±p←"Ss▒phi█Cc▒psi█Bb▒upsil█SdUcBd”2n{=▼}≤"U□1>?▲ka≥pc DW►S■"pi≥Pcρ►D■▲)»β⁴‘o}ƧBs=▼ Dc BW?X B}" mes≥+p"D═S┐╔¬ν↑FνF⌠V3╗βstA\≈²‘:cW2+Wp
dzaima
sumber
12

JavaScript (ES6), 456 448 431 420 byte

Kode ini hanya menggunakan dua tabel pencarian kecil:

  • satu untuk mengidentifikasi kuark: 'CUBDScubds'
  • satu lagi untuk mendeteksi awalan 'anti' Mesons: 'SdUcBdBs'

Segala sesuatu yang lain disimpulkan dari quark.

(s,[a,b]=[...s].map(c=>(i='CUBDScubds'.search(c)%5,m|=1<<i,j+=i<2,k+=i&1,p+=i?i-2?'':'bottom ':'charmed ',i),m=j=k=0,p=''))=>s[2]?p.replace(/(\w+) \1( \1)?/,(_,a,b)=>b?'triple'+b:'double '+a)+(s>'Z'?'anti':'')+['omega','xi','sigma','delta'][k]+('-0+'[j]||'++'):(m&16&&m&5?'strange ':'')+(~'SdUcBdBs'.search(s)?'anti':'')+(m&1?m^1?'D mes':'psi':m&4?m^4?'B mes':'upsil':m&16?m^16?'ka':'phi':'pi')+'on'+'-0+'[(a<2)-(b<2)+1]

Arnauld
sumber
2

Perl 5, 318 byte

$_=<>;$h=qw/- ++ + 0/[y/uc//*2*($i=3-map{${lc;}++}/./g)-$u-$c-$i];$a=($i?!$h&&/[dUB]/:/[a-z]/)&&anti;map{/(.)/;$q.=("","$_ ","double $_ ","triple $_ ")[$$1]}charmed,bottom;print(($i?($u+$d>1?pi:$s>1?phi:$c>1?psi:$b>1?upsil:$c+$b?($s?"strange $a":$a).($b?B:D).' mes':$a.ka).on:$q.$a.qw/omega xi sigma delta/[$u+$d]).$h)

Baris baru ditambahkan agar mudah dibaca (sedikit):

$_=<>
$h=qw/- ++ + 0/[y/uc//*2*($i=3-map{${lc;}++}/./g)-$u-$c-$i]
$a=($i?!$h&&/[dUB]/:/[a-z]/)&&anti
map{/(.)/;$q.=("","$_ ","double $_ ","triple $_ ")[$$1]}charmed,bottom;
print(($i?($u+$d>1?pi:$s>1?phi:$c>1?psi:$b>1?upsil:$c+$b?($s?"strange $a":$a).($b?B:D).' mes':$a.ka).on:$q.$a.qw/omega xi sigma delta/[$u+$d]).$h)
faubi
sumber