บทนำ
เกือบทุกคนคุ้นเคยกับปัญหาพนักงานขายเดินทาง (TSP) ภารกิจคือให้รายชื่อN
เมืองค้นหารอบมิลโตเนียนขั้นต่ำซึ่งจะกล่าวถึงเส้นทางที่สั้นที่สุดที่เข้าชมแต่ละเมืองและกลับมาเป็นวงกลมแบบเต็มกลับไปที่จุดเริ่มต้น นั่นไม่ใช่ความท้าทายนี้เกี่ยวกับ ความท้าทายนี้คือการนำโซลูชัน Chuck Norris ไปใช้กับ TSP:
Chuck Norris แก้ไขปัญหาพนักงานขายเดินทางให้
O(1)
ทันเวลาแบ่งพนักงานขายออกเป็นชิ้น ๆ เตะแต่ละชิ้นไปยังเมืองอื่น
ท้าทาย
เพื่อที่จะแก้ปัญหา TSP ด้วยวิธีนี้เราต้องการพนักงานขายที่มีความทนทานเพียงพอที่จะไม่หนีจากความยุ่งยากเช่นการสูญเสียอวัยวะ จำนวนเมืองที่ควรเยี่ยมชม ชุดผลิตภัณฑ์ที่จะขาย วิธีที่เป็นรูปธรรมสำหรับการแยกส่วน และการคำนวณเพื่อให้คะแนน
สเปค
- เมือง
N
คือจำนวนการอ้างถึงพนักงานขายของเราจะไปเยี่ยมชม
- พนักงานขาย
- โปรแกรมหรือฟังก์ชั่นหลัก
- เขียนเป็นภาษา
X
- ด้วยความยาว mod
N
เท่ากับ0
- ผลิตภัณฑ์
- ชื่อเต็มขององค์ประกอบบนตารางธาตุ
- ซึ่งรวมถึงชื่อขององค์ประกอบที่ยอมรับใหม่
- สูญเสียอวัยวะ
- แบ่งพนักงานขายเป็น
N
ชิ้น ๆ ที่มีความยาวเท่ากัน - แต่ละชิ้นควรเป็นฟังก์ชันหรือโปรแกรมที่ถูกต้องในภาษา
X
- แบ่งพนักงานขายเป็น
- เอาท์พุต
- เมื่อดำเนินการพนักงานขายควรส่งออก
Chuck Norris
และชิ้นที่หั่นบาง ๆ ควรส่งออกผลิตภัณฑ์ที่แตกต่างกัน - ยอมรับเฉพาะพื้นที่สีขาวต่อท้ายเท่านั้น
- เมื่อดำเนินการพนักงานขายควรส่งออก
- เกณฑ์การให้คะแนน
- ความยาว
L
ของพนักงานขายหน่วยเป็นไบต์หารด้วยจำนวนเมืองN
, ยกกำลังสอง Score = L/(N*N)
- คะแนนที่น้อยที่สุดชนะ
- โปรดระบุตัวเลข 3 ตัวที่สำคัญเมื่อโพสต์คะแนนทศนิยมของคุณ
- ความยาว
ตัวอย่าง
- พนักงานขายรายนี้เข้าชม 3 เมืองดังนั้น
N=3
และมีความยาว 9L=9
แห่ง ดังนั้นคะแนนสำหรับคำตอบนี้จะเป็นS = 9 / (3 * 3) = 9/9 = 1
ดังนั้นคะแนนสำหรับคำตอบนี้จะเป็น- โปรดทราบว่าพนักงานขายและแต่ละส่วนที่ถูกหั่น (ซึ่งมี 3 ชิ้น) ควรเป็นโปรแกรมหรือฟังก์ชั่นที่ถูกต้องในภาษาเดียวกัน
Program -> Output
------- ------
aaaBBBccc -> Chuck Norris
aaa -> Helium
BBB -> Iridium
ccc -> Tennessine
N=4
และL=20
อื่น ๆS=20/16=1.25
Program -> Output
------- ------
aaaaaBBBBBcccccDDDDD -> Chuck Norris
aaaaa -> Hydrogen
BBBBB -> Cadmium
ccccc -> Mercury
DDDDD -> Iron
ElementData
ได้รับอนุญาตจาก Mathematica หรือไม่? (ฉันสงสัยว่ามันจะประหยัดได้มาก แต่ฉันไม่รู้)