ตั้งชื่อ Hadrons


19

ท้าทาย

ให้องค์ประกอบของอนุภาคควาร์กเป็นอินพุทเอาท์พุทชื่อฮาดรอนที่สอดคล้องกัน

ควาร์กจะแสดงด้วยตัวพิมพ์ใหญ่และโบราณวัตถุด้วยตัวพิมพ์เล็ก

ควาร์กอาจอยู่ในลำดับใด ๆ ไม่จำเป็นต้องเป็นไปตามลำดับที่ระบุด้านล่าง

ฟังก์ชั่นในตัวไม่อนุญาตให้เข้าถึงข้อมูลเกี่ยวกับอนุภาคและ / หรือควาร์ก

ควาร์กเดียวที่คุณจะได้รับคือ U (ขึ้นไป), u (antiup), D (ลง), d (antidown), S (แปลก), s (antistrange), C (เสน่ห์), c (anticharm), B ( ด้านล่างหรือความงาม), b (antibottom หรือ antibeauty)

รายชื่อ Hadrons และองค์ประกอบของควาร์ก

โปรดทราบว่าแม้ว่าจะมีฮาดรอนอื่น ๆ อีกมากมายเช่น pentaquarks และกาวบอลเป็นต้นคุณจะต้องสนับสนุนเฮดรอนที่ได้รับในรายการต่อไปนี้

Baryons (QQQ) และ Antibaryons (qqq)

ชื่อในวงเล็บเป็นชื่อทางเลือกสำหรับอนุภาค คุณสามารถส่งออกทั้งชื่อ

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-

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

การชนะ

รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ


11
ฟังก์ชั่นในตัวไม่อนุญาตให้เข้าถึงข้อมูลเกี่ยวกับอนุภาคและ / หรือควาร์ก ฉันกำลังมองมาที่คุณ Mathematica
Okx

ดังนั้นความท้าทายนี้เป็นหลักในการบีบอัดตารางการค้นหา?
Rohan Jhunjhunwala

3
Mathematica มีParticleDataฟังก์ชั่นพร้อมQuarkContentตัวเลือก
Ian Miller

1
ดูไม่ยาก ฉันหมายความว่าแต่ละควาร์กมีประจุไฟฟ้าของตัวเองคุณต้องจัดการกับชื่อไม่ใช่ค่าใช้จ่าย
Matthew Roh

1
1. ดูเหมือนว่า baryons จะเป็นการรวมกันของ 3 ควาร์กในกรณีเดียวกัน Mesons เป็นการรวมกันของ 2 ควาร์กของกรณีตรงข้าม แต่สำหรับ Mesons CbและBcขาดหายไป มันตั้งใจหรือไม่ 2. การสั่งซื้อตัวอักษรต่างกันจะหมายถึงสิ่งเดียวกัน - โปรแกรมของเราจะต้องสามารถจัดการคำสั่งต่าง ๆ ของตัวอักษรได้หรือไม่ (กล่าวคือมันจะเป็นUDSตัวอย่างหรือมันจะเป็นSUDหรือDSUเป็นตัวอย่าง?) ในทำนองเดียวกันเราสามารถมีซอนuD?
ระดับแม่น้ำเซนต์

คำตอบ:


5

SOGL 0.11 , 341 339 333 310 305 305 300 ไบต์

‘θ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

12

JavaScript (ES6), 456 448 431 420 ไบต์

รหัสนี้ใช้ตารางการค้นหาขนาดเล็กเพียงสองตาราง:

  • หนึ่งในการระบุควาร์ก: 'CUBDScubds'
  • อีกอันหนึ่งเพื่อตรวจสอบคำนำหน้า 'anti' ของ Mesons: 'SdUcBdBs'

ทุกอย่างอื่นถูกอนุมานจากควาร์ก

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


2

Perl 5, 318 ไบต์

$_=<>;$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)

เพิ่มบรรทัดใหม่เพื่อให้สามารถอ่านได้ (เล็กน้อย):

$_=<>
$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)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.