คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

20
คำนวณความน่าจะเป็นในการได้ครึ่งหนึ่งของจำนวนหัวเท่ากับการโยนเหรียญ
เขียนโปรแกรมที่ให้เลขจำนวนเต็มบวกเป็นค่าบวกเล็ก ๆ จากอินพุตมาตรฐานคำนวณความน่าจะเป็นที่การโยนเหรียญจำนวนมากส่งผลให้ครึ่งหนึ่งเป็นจำนวนมาก ตัวอย่างเช่นได้รับ 2 เหรียญผลลัพธ์ที่เป็นไปได้คือ: HH HT TH TT ที่ H และ T เป็นหัวและก้อย มี 2 ​​ผลลัพธ์ ( HTและTH) ที่ครึ่งหัวเท่าจำนวนเหรียญ มีทั้งหมด 4 ผลลัพธ์ดังนั้นความน่าจะเป็นคือ 2/4 = 0.5 มันง่ายกว่าที่คิด กรณีทดสอบ: 2 -> 0.5 4 -> 0.375 6 -> 0.3125 8 -> 0.2734375

6
ผลงานออกมาเปลี่ยนแปลง [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา คุณกำลังเขียนโปรแกรมสำหรับการลงทะเบียนเงินสดอัตโนมัติ ผู้ใช้ต้องการการเปลี่ยนแปลงโดยใช้จำนวนเหรียญน้อยที่สุด เขียนโปรแกรมที่ใช้จำนวนเงิน (พูด $ 1.53) และให้การเปลี่ยนแปลงในสกุลเงินสหรัฐฯ - ในกรณีนี้: 1 x หนึ่งดอลลาร์ดอลลาร์ธนบัตร 1 x ห้าสิบเซ็นต์และ 3 x หนึ่งเซ็นต์ โปรแกรมที่สั้นที่สุดจะเป็นผู้ชนะ คะแนนโบนัสสำหรับการสนับสนุนสกุลเงินอื่น ๆ (เช่นสกุลเงินสหราชอาณาจักร) และสกุลเงินที่ผิดปกติ (1, 2, 3 เซ็นต์?) คุณมีสกุลเงินสหรัฐฯเหล่านี้: 1 เซ็นต์ 5 เซ็นต์ 10 เซ็นต์ 25 เซ็นต์ 50 เซ็นต์ 1 ดอลลาร์ (ธนบัตรหรือเหรียญ) 2 ดอลลาร์ …
10 code-golf 

4
Word Spinner Puzzle
นี่คือปริศนาคำศัพท์ โปรแกรมของคุณควรยอมรับสองคำในอินพุตมาตรฐาน คำแรกเป็นคำเริ่มต้น คำที่สองคือคำสุดท้าย จากคำเริ่มต้นคุณจะต้องไปให้ถึงคำสุดท้ายที่เปลี่ยนแปลง / เพิ่ม / ลบทีละตัวอักษร หลังจากการแก้ไขแต่ละครั้งจะต้องสร้างคำที่ถูกต้องใหม่ ตัวอักษรที่เพิ่มเข้ามาจะถูกเพิ่มไปยังจุดเริ่มต้นหรือจุดสิ้นสุด คุณสามารถลบตัวอักษรจากตำแหน่งใดก็ได้ (แต่คำต้องไม่ยาวเกินสามตัวอักษร) หมายเหตุ: คุณไม่สามารถจัดเรียงตัวอักษรใหม่เพื่อสร้างคำ ผลลัพธ์ของโปรแกรมคือลำดับของคำที่จะได้รับจากคำเริ่มต้นไปยังคำสุดท้าย ตัวอย่าง: Input: Post Shot Output: Post cost coat goat got hot shot ผู้ชนะ: โปรแกรมจะต้องทำงานในเวลาที่เหมาะสม (น้อยกว่า 10 วินาที) โปรแกรมที่สามารถสร้างลำดับผลลัพธ์ที่สั้นที่สุดให้กับคำที่ได้รับรางวัล Zink -> ซิลิคอน หากมากกว่าหนึ่งโปรแกรมได้รับลำดับที่สั้นที่สุดดังนั้นโปรแกรมที่สั้นที่สุดในตัวอักษร (ไม่สนใจพื้นที่สีขาว) หากเรายังคงมีวันที่ / เวลาในการส่งโปรแกรมมากกว่าหนึ่งครั้ง หมายเหตุ: การใช้อักษรตัวพิมพ์ใหญ่ไม่เกี่ยวข้อง รหัสในการสร้างพจนานุกรมไม่นับรวมกับค่าใช้จ่ายของรหัส คำและลำดับของรางวัลจะถูกสร้างขึ้นจาก: http://dl.packetstormsecurity.net/Crackers/wordlists/dictionaries/websters-dictionary.gz

7
โดยประมาณที่ห้าที่สมบูรณ์แบบ
เริ่มต้นที่ 1-TET ให้อารมณ์ที่เท่าเทียมกันซึ่งมีการประมาณที่ดีกว่าและดีกว่าของห้าที่สมบูรณ์แบบ (เพียงอัตราส่วน 3/2) ( ลำดับ OEIS A060528 ) คำอธิบายอย่างเป็นทางการของลำดับคัดลอกมาจาก OEIS: รายการของอุณหภูมิเท่ากัน (ส่วนเท่า ๆ กันของระดับแปดเสียง) ซึ่งระดับขั้นที่ใกล้ที่สุดอยู่ใกล้และใกล้เคียงกับอัตราส่วนของสองโทนของความสามัคคีทางดนตรี: ที่สมบูรณ์แบบที่ 4, 4/3 และสมบูรณ์แบบที่ 5, 3/2 โปรดทราบว่าด้วยความสมมาตรความสมบูรณ์แบบที่สี่ไม่สำคัญ สมมติว่าเรารู้ว่า 3 อยู่ในลำดับ ความถี่ใน 3-TET คือ: 2^0, 2^⅓, 2^⅔ ที่ไหน2^⅔เป็นที่ใกล้เคียงลอการิทึม3/2ประมาณของ เป็น 4 ในลำดับหรือไม่ ความถี่ใน 4-TET คือ: 2^0, 2^¼, 2^½, 2^¾ ที่ไหนเป็นประมาณใกล้เคียงที่สุดของ2^½ 3/2สิ่งนี้ไม่ดีไปกว่า2^⅔ดังนั้น 4 จึงไม่อยู่ในลำดับ ด้วยวิธีที่คล้ายกันเรายืนยันว่า 5 …

4
ชั่งน้ำหนักคำพูดของคุณ!
ความท้าทาย รับสองสตริงแต่ละความยาวสูงสุด 30 ประกอบด้วยอักขระ ASCII ที่พิมพ์ได้ (รหัส [ 32 , 126 ][32,126][32, 126]) วางลงบนเครื่องชั่งในจำนวนไบต์ที่น้อยที่สุดของโค้ด! ประกอบด้วยขั้นตอนต่อไปนี้: คำนวณและเปรียบเทียบน้ำหนักของสตริง เลือกสเกลศิลปะ ASCII ที่เอียงได้อย่างเหมาะสม วางสองสตริงลงบนสเกล สตริงอาจถูกส่งเป็นอาร์เรย์อาร์กิวเมนต์สองรายการหรือวิธีการอื่นที่สมเหตุสมผล น้ำหนักของสตริงที่ถูกกำหนดให้เป็นผลรวมของน้ำหนักของตัวละครของสตริงที่ที่นี้: ช่องว่างมีน้ำหนัก 0 ( ) อักษรตัวพิมพ์เล็กมีน้ำหนัก 2 ( abcdefghijklmnopqrstuvwxyz) ตัวอักษรตัวพิมพ์ใหญ่มีน้ำหนัก 4 ( ABCDEFGHIJKLMNOPQRSTUVWXYZ) สัญลักษณ์อื่น ๆ ทั้งหมดมีน้ำหนัก 3 ( !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~) เครื่องชั่งมีลักษณะดังนี้: . _ | _- * / \ | - …

2
เครื่องบินระเบิด
การเป่าลมขึ้นเป็นเครื่องมือที่ทรงพลังในเรขาคณิตเชิงพีชคณิต จะช่วยให้การกำจัดเอกฐานจากชุดพีชคณิตในขณะที่รักษาส่วนที่เหลือของโครงสร้างของพวกเขา หากคุณไม่คุ้นเคยกับสิ่งใดก็ตามที่ไม่ต้องกังวลการคำนวณจริงนั้นไม่ยากที่จะเข้าใจ (ดูด้านล่าง) ในต่อไปนี้เรากำลังพิจารณาระเบิดขึ้นของจุด( 0, 0 )(0,0)(0,0)ของเส้นโค้งพีชคณิตใน 2D เส้นโค้งพีชคณิตในแบบ 2 มิติจะถูกกำหนดโดย zero-locus ของพหุนามในตัวแปรสองตัว (เช่นp (x , y) =x2+Y2- 1พี(x,Y)=x2+Y2-1p(x,y) = x^2 + y^2 - 1 สำหรับวงกลมหน่วยหรือ p ( x ,y) = y-x2พี(x,Y)=Y-x2p(x,y) = y-x^2สำหรับพาราโบลา) การระเบิดของเส้นโค้งนั้น (ใน( 0 , 0 )(0,0)(0,0)) ถูกกำหนดโดยพหุนามสองอัน r , sR,sr,sตามที่กำหนดไว้ด้านล่าง ทั้งสองRRr และ sss ทำอธิบาย พีพีp …

16
จับคู่หัวข้อการสมัคร MQTT
พื้นหลัง MQTT (Message Queuing Telemetry Transport) เป็นโปรโตคอลการรับส่งข้อความแบบบอกรับสมาชิกที่ใช้มาตรฐาน ISO ( Wikipedia ) แต่ละข้อความมีหัวข้อเช่นตัวอย่างต่อไปนี้: myhome/groundfloor/livingroom/temperature USA/California/San Francisco/Silicon Valley 5ff4a2ce-e485-40f4-826c-b1a5d81be9b6/status Germany/Bavaria/car/2382340923453/latitude ลูกค้า MQTT อาจสมัครสมาชิกหัวข้อข้อความโดยใช้สัญลักษณ์แทน: ระดับเดียว: + ทุกระดับเป็นต้นไป: # ตัวอย่างเช่นการสมัครสมาชิกmyhome/groundfloor/+/temperatureจะสร้างผลลัพธ์เหล่านี้ (ไม่สอดคล้องตามตัวหนา ): ✅ myhome / ชั้นล่าง / ห้องรับแขก / อุณหภูมิ ✅ myhome / ชั้นล่าง / ห้องครัว / อุณหภูมิ ❌ myhome / ชั้นล่าง / ห้องรับแขก …

17
การเรียงตัวอักษรและตัวเลขและเส้นโค้ง
รับสายป้อนเขียนโปรแกรมที่ส่งออกจำนวนบรรทัดและเส้นโค้งที่มี ความท้าทาย ใช้อินพุตจากSTDINหรือวิธีการอินพุตอื่น ๆ เอาท์พุทไปยังSTDOUTหรือวิธีการส่งออกอื่น ๆ จำนวนรวมของเส้นและเส้นโค้งที่มีอยู่ในสตริงในลำดับนั้นขึ้นอยู่กับตารางด้านล่างในข้อมูลโค้ด ควรละเว้นอักขระที่ไม่ใช่ตัวอักษรและตัวเลขใด ๆ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม นี่คือ รหัสกอล์ฟรหัสที่สั้นที่สุดจึงชนะ ชี้แจง เส้นและเส้นโค้งจะถูกกำหนดโดยตัวอักษรที่ใช้ใน Stackexchange code blocksสำหรับ แวดวง (ชอบO, o, 0) และจุด ( i, j) ถือเป็นเส้นโค้ง 1 เส้น การป้อนข้อมูลสามารถเป็นสตริงรายการของตัวละครสตรีมของตัวละคร bytecodes ฯลฯ เอาท์พุทสามารถเป็นอาร์เรย์ของจำนวนเต็ม tuple ของจำนวนเต็มสตริงคั่นด้วยเครื่องหมายจุลภาค ฯลฯตัวเลขสองต้องแยกจากกันเพื่อให้104ไม่ถูกต้อง แต่10,4, 10 4, 10\n4, [10,4], (10, 4)และอื่น ๆ มี ช่องว่างส่วนหัวและส่วนท้ายเป็นที่ยอมรับได้อย่างสมบูรณ์ ตัวอย่างอินพุตและเอาต์พุต # Format: str -> …

4
ส่วนที่เกี่ยวข้องสำหรับการเสิร์ฟแบดมินตัน
บทนำ: ผมเห็นมีเพียงหนึ่งที่เกี่ยวข้องกับแบดมินตันท้าทายอื่น ๆ ในขณะนี้ ตั้งแต่ฉันเล่นแบดมินตันด้วยตัวเอง (ในช่วง 13 ปีที่ผ่านมา) ฉันคิดว่าฉันจะเพิ่มความท้าทายเกี่ยวกับแบดมินตัน ที่นี่ที่สอง (อันแรกพบได้ที่นี่ ): ท้าทาย: กฎบางอย่างเกี่ยวกับแบดมินตันทำหน้าที่: การให้บริการจะทำในแนวทแยงมุมผ่านเน็ตเสมอ คุณจะต้องให้บริการหลังจากเส้นที่ขนานและใกล้เคียงที่สุดกับเน็ต พื้นที่ที่คุณได้รับอนุญาตให้บริการแตกต่างกันไปขึ้นอยู่กับว่าเป็นพื้นที่เดี่ยว (1 vs 1) หรือสองครั้ง / พื้นที่ผสม (2 vs 2) สำหรับคนโสด (1 กับ 1) พื้นที่สีน้ำเงินในภาพด้านล่างเป็นพื้นที่ที่คุณได้รับอนุญาต นี่คือการรวมส่วนที่ด้านหลัง แต่ไม่รวมชิ้นส่วนที่ด้านข้าง สำหรับคู่ผสม / มิกซ์ (2 vs 2) พื้นที่สีเขียวในภาพด้านล่างเป็นตำแหน่งที่คุณได้รับอนุญาตให้ใช้เซิร์ฟเวอร์ ดังนั้นนี่คือไม่รวมส่วนที่ด้านหลัง แต่รวมถึงชิ้นส่วนที่ด้านข้าง คุณอาจไม่ยืนอยู่บนเส้นเมื่อเสิร์ฟ แต่รถรับส่งจะยังคงอยู่ข้างในถ้าพวกเขาลงจอดบนเส้น นี่คือเค้าโครงของสนามแบดมินตัน: กฏท้าทาย: การป้อนข้อมูล: คุณจะได้รับสองอินพุต: สิ่งที่บ่งบอกว่าเรากำลังเล่นเดี่ยวหรือคู่ / …

28
สตริงการเปลี่ยนบิต
งาน รับสตริงอินพุตของอักขระ ASCII หนึ่งตัวหรือมากกว่าที่ codepoints อยู่ระหว่าง 0 ถึง 128 (พิเศษ) ให้ทำดังนี้: แปลงอักขระแต่ละตัวเป็นรหัส ASCII 7 บิต (ถ้ารหัส ASCII น้อยกว่า 7 บิตใส่ศูนย์นำหน้าบิต) ต่อเชื่อมบิตทั้งหมด (ผลลัพธ์นี้เป็น7*nบิตที่nจำนวนอักขระ) สำหรับแต่ละบิตในบิตสตรีมนี้ให้พิมพ์ 1 หากแตกต่างจากบิตก่อนหน้าและพิมพ์ 0 มิฉะนั้น บิตแรกที่ส่งออกคือ 1 เสมอ ตัวอย่าง การป้อนข้อมูล: Hi เอาท์พุท: 11011001011101 คำอธิบาย: สตริง "Hi" มีรหัส ASCII 72 105 ซึ่งในบิตคือ: 1001000 1101001 และตัวบ่งชี้บิตการเปลี่ยนแปลง: 11011001011101 นี่คือรหัสกอล์ฟ จำนวนไบต์ต่ำสุดชนะ กรณีทดสอบ …

30
พูดคุยล่าม
"Talk" เป็นภาษาที่สะสมจากภาษา Baroquified ซึ่งสร้างขึ้นเพื่อตอบสนองต่อคำพูดของ Dennis ที่ talk.tryitonline.net Waiting for someone to create an esolang called talk. . ภาษา "Talk" มี 4 คำสั่ง: 00 ถ้าตัวสะสมเป็น 0 ให้ตั้งตัวสะสมเป็น 0 01 ถ้าตัวสะสมเป็น 0 ให้ตั้งตัวสะสมเป็น 1 10 ถ้าตัวสะสมคือ 1 ให้ตั้งตัวสะสมเป็น 0 11 ถ้าตัวสะสมคือ 1 ให้ตั้งตัวสะสมเป็น 1 การป้อนข้อมูล: อินพุตสามารถใช้วิธีการอินพุตที่ยอมรับได้โดยกฎ I / O มาตรฐานของเรา มีสองอินพุตค่าเริ่มต้นสะสมและโปรแกรม คุณสามารถรวมทั้งสองอินพุตนี้เป็นหนึ่งอินพุตหรือแยกอินพุตของคุณเป็นคำสั่งที่ถูกต้อง …

14
อาร์เรย์เริ่มต้นที่
งานของคุณคือการใช้อาร์เรย์ของตัวเลขและจำนวนจริงและส่งกลับค่าที่จุดนั้นในอาร์เรย์ อาร์เรย์เริ่มต้นที่ππ\pi และถูกนับเข้า ππ\piช่วงเวลา สิ่งที่เรากำลังจะแก้ไขระหว่างองค์ประกอบที่ได้รับ "ดัชนี" ตัวอย่างเช่น: Index: 1π 2π 3π 4π 5π 6π Array: [ 1.1, 1.3, 6.9, 4.2, 1.3, 3.7 ] เพราะมัน ππ\piเราต้องทำตรีโกณมิติบังคับดังนั้นเราจะใช้การแก้ไขโคไซน์โดยใช้สูตรต่อไปนี้: cos( ฉันพอควรπ) + 12∗ ( α - β) + βcos⁡(imodπ)+12∗(α−β)+β{\cos(i \mod \pi) + 1 \over 2} * (\alpha - \beta) + \beta ที่อยู่: ผมiiคืออินพุต "ดัชนี" …
10 code-golf  array 

4
เห็นภาพคณะกรรมการนิ่มเหมือนผู้เชี่ยวชาญ
พื้นหลัง ในเกมของ Nimผู้เล่นเลือกที่จะลบ "หิน" จาก "กอง": ในแต่ละเทิร์นผู้เล่นจะต้องลบระหว่างหนึ่งและหินทั้งหมดจากกองเดียว เป้าหมายของ Nim คือการเอาหินก้อนสุดท้ายออกมาหรือในตัวแปรที่ผิดประเภทเพื่อบังคับให้คู่ต่อสู้ทำเช่นนั้น - อย่างไรก็ตามมันกลับกลายเป็นว่ากลยุทธ์นั้นเหมือนกันเกือบทั้งหมด นิ่มทำให้เกมบาร์สนุก คุณสามารถใช้ไม้ขีดไฟหรือเหรียญสำหรับ "หิน" และ "กอง" โดยทั่วไปจะจัดเรียงเป็นเส้น ด้านล่างเป็นการตั้งค่าแบบคลาสสิกที่มี 1, 3, 5 และ 7: หากคุณไม่เคยเล่น Nim มาก่อนคุณอาจลองใช้มือลองดูก่อนที่จะลองทำสิ่งนี้ ต่อไปนี้เป็นรุ่นที่เรียกว่า "ไข่มุกก่อนสุกร" กลยุทธ์ กลยุทธ์ที่ดีที่สุดในนิ่มก็พอหากินที่วางคนส่วนใหญ่สูญเสียอย่างต่อเนื่องกับผู้เชี่ยวชาญ แต่ง่ายที่จะอธิบายกับเลขคณิตไบนารี อย่างไรก็ตามการดำเนินการ XOR ทางจิตเป็นเรื่องที่ยากดังนั้นโชคดีที่มีวิธีเทียบเท่ากับการมองเห็นกลยุทธ์ที่ถูกต้องซึ่งง่ายต่อการนำไปใช้ในเวลาจริงแม้ในขณะเมา มีสามขั้นตอนเท่านั้น: จัดกลุ่ม "ก้อนหิน" ทางจิตใจในแต่ละบรรทัดเป็นกลุ่มย่อยที่มีขนาดเป็นพลังของ 2 เริ่มต้นด้วยขนาดที่ใหญ่ที่สุดที่เป็นไปได้: 8, 4, 2 และ 1 เพียงพอสำหรับเกมส่วนใหญ่ ลองจับคู่แต่ละกลุ่มกับคู่ในบรรทัดอื่นเพื่อให้ทุกกลุ่มมีคู่ หากไม่สามารถทำได้ให้ลบ "หิน" …

3
เครื่องมือแก้ไขบรรทัด (มีข้อความเพิ่มเติมที่นี่)
ในช่วงปีที่มีหมอกเมื่อเทอร์มินัลแบบพับเก็บเดินไปทั่วโลกมีสิ่งมีชีวิตแปลก คนพิการผิดปกติและทรงพลังอย่างแปลกประหลาดตัวแก้ไขบรรทัดเต็มไปด้วยแนวการเขียนโปรแกรมในจำนวนที่บอกเล่า ครอบคลุมโลกเท่าที่ตาสามารถมองเห็น ตอนนี้มันตกอยู่ในช่วงเวลาที่ยากลำบาก ประชากรจำนวนมหาศาลนั้นถูกล่าไล่ล่าและขับไล่ให้สูญพันธุ์ มีตัวอย่างอยู่เพียงไม่กี่ตัวเท่านั้นส่วนใหญ่จะอยู่ในกรงที่แคบและไม่มีโครงในสวนสัตว์ที่มีความสว่างน้อยกว่าแม้ว่าจะมีตัวอย่างยัดและติดตั้งอยู่สองสามตัวที่สามารถพบเห็นได้ในพิพิธภัณฑ์น้ำนิ่ง edโอ้และมี แฟรงเกนสไตน์เหมือนพวกเราจะรื้อฟื้นสิ่งมีชีวิตที่สูงส่ง! คำสั่ง โปรแกรมแก้ไขของเราค่อนข้างน้อยและจะสนับสนุนคำสั่งต่อไปนี้ โฟกัสคำสั่งที่เคลื่อนไหว <number>[,<number>]- ย้ายโฟกัสไปยังบรรทัดที่ระบุและหากมีการให้อาร์กิวเมนต์ที่สองกับคอลัมน์สถานะ หมายเลขบรรทัดมากเกินไปรับบรรทัดสุดท้าย หมายเลขคอลัมน์มากเกินไปรับจุดสิ้นสุดของบรรทัด ,<number> - เลื่อนไปที่หมายเลขคอลัมน์บนบรรทัดปัจจุบัน e - ย้ายโฟกัสไปยังจุดสิ้นสุดของไฟล์ แต่อย่าเริ่มบรรทัดใหม่ b - เลื่อนโฟกัสไปที่จุดเริ่มต้นของไฟล์ คำสั่งที่ให้ข้อมูล L- สะท้อนบริบทปัจจุบัน ห้าบรรทัดที่อยู่กึ่งกลางของบรรทัดปัจจุบันจะถูกพิมพ์ ทั้งห้าบรรทัดมีการเยื้องโดยอักขระหนึ่งตัว บรรทัดปัจจุบันถูกทำเครื่องหมายด้วย ">" และอีกบรรทัดที่มี "" ภายใต้บรรทัดเหล่านี้จะมีการพิมพ์อีกบรรทัดหนึ่งซึ่งประกอบด้วยช่องว่างทั้งหมดยกเว้น "^" ในคอลัมน์ปัจจุบัน (พิมพ์ทั้งหมดหกบรรทัด) l - สะท้อนบรรทัดปัจจุบัน p [[<start>],[<end>]]- พิมพ์ไฟล์ตั้งแต่เริ่มต้นจนสิ้นสุดที่อยู่ ค่าเหล่านี้เป็นค่าเริ่มต้นที่ 1 และ 0 (จุดสิ้นสุดของไฟล์) คำสั่งการแก้ไขไฟล์ …
10 code-golf 

6
ให้ต้นไม้สร้างรหัสPrüferของมัน
ใน กราฟทฤษฎีรหัสPrüferเป็นลำดับที่ไม่ซ้ำกันของจำนวนเต็มว่าหมายถึงต้นไม้ที่เฉพาะเจาะจง คุณสามารถค้นหารหัสPrüferของต้นไม้ด้วยอัลกอริทึมต่อไปนี้นำมาจาก Wikipedia: พิจารณา T {1, 2, ..., n}ต้นไม้ที่มีป้ายกำกับจุด ที่ขั้นตอนที่1ให้นำใบไม้ที่มีฉลากขนาดเล็กที่สุดออกแล้วตั้งค่าองค์ประกอบที่iของลำดับPrüferให้เป็นป้ายกำกับของเพื่อนบ้านของใบไม้นี้ (โปรดทราบว่าเนื่องจากเป็นใบไม้จึงมีเพียงเพื่อนบ้านเดียว) คุณควรหยุดการทำซ้ำเมื่อเหลือเพียงสองจุดยอดในกราฟ งาน ให้ต้นไม้ที่มีข้อความเป็นอินพุตเอาต์พุตโค้ดPrüfer คุณสามารถป้อนข้อมูลในลักษณะที่สมเหตุสมผล เช่นเมทริกซ์ adjacency หรือภาษาของคุณแสดงกราฟในตัว ( คุณไม่สามารถรับรหัสPrüferได้ ) นี่คือ รหัสกอล์ฟ ดังนั้นคุณควรมุ่งหวังที่จะลดจำนวนไบต์ในแหล่งที่มาของคุณ กรณีทดสอบ นี่คืออินพุตบางส่วนใน ASCII พร้อมกับเอาต์พุตด้านล่าง คุณไม่จำเป็นต้องรองรับอินพุต ASCII เช่นนี้ 3 | 1---2---4---6 | 5 {2,2,2,4} 1---4---3 | 5---2---6---7 | 8 {4,4,2,6,2,5} 5---1---4 6 | | 2---7---3 {1,1,2,7,3}

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