การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

7
ค้นหารหัสล็อคแบบ Wordiest
ฉันมีกุญแจรวมกันที่มีตัวอักษรแทนตัวเลข ดูเหมือนว่า: http://pictures.picpedia.com/2012/09/Word_Combination_Padlock.jpgมี 5 วงล้อแต่ละอันมี 10 ตัวอักษรที่แตกต่างกัน คนส่วนใหญ่ชอบที่จะใช้คำสำหรับการรวมกันของพวกเขามากกว่าตัวอักษรโดยพลการ (แน่นอนว่าปลอดภัยน้อยกว่า แต่จดจำได้ง่ายกว่า) ดังนั้นเมื่อผลิตกุญแจมันจะเป็นการดีที่จะสร้างมันขึ้นมาให้มีตัวอักษรผสมกันซึ่งสามารถใช้ในการสร้างคำภาษาอังกฤษ 5 ตัวอักษรให้ได้มากที่สุด งานของคุณถ้าคุณเลือกที่จะยอมรับมันก็คือการหาตัวอักษรให้วงล้อซึ่งจะอนุญาตให้สร้างคำได้มากที่สุด ตัวอย่างเช่นทางออกของคุณอาจเป็น ABCDEFGHIJ DEFGHIJKLM ZYXWVUTSR ABCDEFGHIJ ABCDEFGHIJ (ถ้าคุณไม่ได้จินตนาการเกินไปนั่นก็คือ) เพื่อความสอดคล้องโปรดใช้รายการคำศัพท์ที่http://www.cs.duke.edu/~ola/ap/linuxwords คำ 5 ตัวอักษรใด ๆ ในรายการนั้นใช้ได้รวมถึงชื่อที่เหมาะสม ไม่สนใจ Sino- และ L'vov และคำอื่น ๆ ในรายการที่มีอักขระที่ไม่ใช่ az โปรแกรมที่ชนะคือโปรแกรมที่สร้างชุดคำที่ใหญ่ที่สุด ในกรณีที่หลาย ๆ โปรแกรมพบผลลัพธ์เดียวกันโปรแกรมแรกที่ชนะจะถูกโพสต์ โปรแกรมควรทำงานภายใน 5 นาที แก้ไข: เนื่องจากกิจกรรมได้พังทลายลงและไม่มีทางออกที่ดีกว่านี้อีกเลยฉันประกาศ Peter Taylor ผู้ชนะ! ขอบคุณทุกคนสำหรับโซลูชั่นการประดิษฐ์ของคุณ

10
ข้อ จำกัด ที่โง่และทะเลทราย
ดังนั้นคุณกำลังนั่งอยู่ที่โต๊ะทำงานของคุณเล่นกอล์ฟเพื่อคำนวณตัวเลข 20 ตัวแรกของไพและตามมาด้วยเจ้านายของคุณแล้วโยนแอปเปิ้ล IIe ของคุณออกไปนอกหน้าต่าง ตอนนี้คุณกำลังทำงานในโครงการใหม่และคอมพิวเตอร์เครื่องนี้ยังไม่มีความสามารถด้านข้อความใด ๆ ไม่มี. ไม่มีแบบอักษร ไม่มีอะไร ตอนนี้ขอจบโปรแกรมนั่น คำนวณและแสดง 20 ตัวอักษรแรกของ pi โดยไม่ใช้แบบอักษรใด ๆ ที่ไม่ได้เป็นส่วนหนึ่งของโปรแกรมของคุณ เอาต์พุตของคุณสามารถแสดงหรือเขียนลงในไฟล์สแตนดาร์ดเป็นไฟล์รูปภาพ (jpeg, png, gif, svg (ตราบใดที่คุณไม่ได้ใช้อักขระใด ๆ ), bmp, xpm) คุณสามารถใช้ภาษาใดก็ได้ แต่คุณไม่สามารถใช้ฟังก์ชั่นแบบอักษรของภาษาการแสดงข้อความหรือสิ่งที่คล้ายกันได้ โบนัสขนาดเล็ก (10 ตัวอักษร) ถ้ามันจะใช้ได้กับ Lisa แก้ไข: สำหรับผู้ที่ไม่ได้คิดว่าแรงบันดาลใจของฉันคือแม็คแรกและชื่อเป็นปุน ความรุ่งโรจน์ที่ยิ่งใหญ่ของ @Sukminder ซึ่งเป็น gif ที่เคลื่อนไหวได้ยอดเยี่ยมมาก การประกวดยังไม่จบหากมีคำตอบที่ดีกว่า

3
สร้างกราฟ xkcd อีกครั้งด้วยเครื่องมือการวางแผนที่คุณชื่นชอบ
เมื่อเร็ว ๆ นี้ได้มีการค่อนข้างจำนวนของคำถามเกี่ยวกับการพักผ่อนหย่อนใจของxkcdกราฟสไตล์ดังต่อไปนี้หนึ่ง ( 1064 ) ในภาษาต่างๆ เป้าหมายของคุณคือสร้างการ์ตูน xkcd ที่มีอยู่ให้ใกล้เคียงกับต้นฉบับมากที่สุด การ์ตูนต้องมีกราฟอย่างง่ายหรือแผนภูมิวงกลมหรือองค์ประกอบที่คล้ายกันอย่างน้อยหนึ่งรายการ คำตอบที่ได้รับการโหวตสูงสุดจะชนะไม่ช้ากว่า 10 วันหลังจากคำตอบที่ถูกต้องครั้งแรก ข้อมูลของคุณจะต้องมีรหัสที่แสดง xkcd-comic ตามที่อธิบายไว้ข้างต้นในภาษากราฟอย่างน้อยการใช้เครื่องมือการพล็อต (Mathematica, MatLab ฯลฯ ) การ์ตูนจะต้องไม่ถูกจัดเก็บเป็นรูปภาพ แต่จะต้องถูกสร้างขึ้นตามขั้นตอน จะต้องไม่มีลิงค์ใด ๆ ไปยังเว็บไซต์ดั้งเดิมหรือมิเรอร์ของมันหรือเนื้อหาในฮาร์ดไดรฟ์ของคุณ ฯลฯ คะแนนควรประเมินความคล้ายคลึงกันของผลลัพธ์กับต้นฉบับและในระดับที่น้อยกว่าความสวยงามของการแก้ปัญหา ไม่มีรหัสกอล์ฟที่นี่ แต่คาดว่าจะมีวิธีแก้ปัญหาสั้นและง่ายที่สุดเท่าที่จะเป็นไปได้

14
เครื่องคัดแยกที่ไม่ประสงค์ดีสำหรับวัตถุประสงค์ที่ชั่วร้าย
สวัสดีนักกอล์ฟ! ความท้าทายของคุณคือยกเลิกหมายเลขชุดอย่างสมบูรณ์ อินพุต จำนวนเต็ม 100 จำนวนเต็มจะถูกป้อนเข้าสู่โปรแกรมของคุณ โปรแกรมของคุณอาจยอมรับอินพุตเป็นไฟล์หรือผ่าน stdin จำนวนเต็มแต่ละค่าจะถูกคั่นด้วยอักขระขึ้นบรรทัดใหม่ จำนวนเต็ม 100 จำนวนเหล่านั้นจะอยู่ในช่วงตั้งแต่ค่าต่ำสุดไปจนถึงค่าสูงสุดของจำนวนเต็มที่ลงนามในภาษาที่คุณเลือก จะไม่มีค่าซ้ำกัน ค่าอาจถูกเรียงลำดับไม่เรียงลำดับหรือสั่งบางส่วน - โปรแกรมของคุณควรจัดการแต่ละกรณี เอาท์พุต เอาต์พุตจะต้องเป็นจำนวนเต็ม 100 ตัวซึ่งไม่เรียงลำดับอย่างสมบูรณ์โดยแต่ละรายการคั่นด้วยอักขระบรรทัดใหม่ เอาท์พุทอาจจะผ่าน stdout หรือไฟล์ Unsorted โดยสิ้นเชิงหมายความว่าไม่มีค่าอยู่ติดกับค่าใด ๆ ที่จะอยู่ติดกับหากรายการนั้นเรียงลำดับตามลำดับที่สั่งไว้อย่างสมบูรณ์ คะแนน 1 คะแนนต่อตัวละครและคะแนนต่ำสุดชนะ มีโบนัส -100 สำหรับการแก้ปัญหาใด ๆ ที่ไม่มีฟังก์ชั่นการเรียงลำดับในตัวหรือไลบรารี มีโบนัส -20 สำหรับการแก้ปัญหาใด ๆ ที่ไม่มีฟังก์ชั่นตัวเลขสุ่มในตัว ฉันพยายามกำหนดคำถามนี้ให้สมบูรณ์ที่สุด หากคุณมีคำถามใด ๆ โปรดถาม หากคุณมีความคิดเห็นใด ๆ เกี่ยวกับวิธีที่ฉันสามารถทำได้ดีขึ้นในครั้งต่อไปโปรดแจ้งให้เราทราบ Fore!

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

4
แปลง Fractran เป็น Brainfuck
พื้นหลัง Fractranเป็นภาษาโปรแกรมภาษาทัวริงที่สมบูรณ์แบบที่คิดค้นโดย John Conway โปรแกรม Fractran ประกอบด้วยรายการเศษส่วนที่เรียงลำดับแล้ว โปรแกรมเริ่มต้นด้วยการใช้จำนวนเต็มเดียวเป็นอินพุต การวนซ้ำแต่ละครั้งของโปรแกรมจะค้นหารายการสำหรับเศษส่วนแรกเช่นการคูณจำนวนด้วยเศษส่วนนั้นจะสร้างจำนวนเต็มอีก จากนั้นจะทำซ้ำกระบวนการนี้ด้วยหมายเลขใหม่เริ่มต้นที่จุดเริ่มต้นของรายการ เมื่อไม่มีเศษส่วนในรายการที่สามารถคูณด้วยตัวเลขโปรแกรมจะหยุดและให้หมายเลขเป็นเอาท์พุท เหตุผลที่ Fractran นั้นเป็นทัวริงสมบูรณ์เพราะมันจำลองเครื่องลงทะเบียน การแยกตัวประกอบเฉพาะของจำนวนเก็บเนื้อหาของรีจิสเตอร์ในขณะที่การหารและการคูณเป็นวิธีการบวกและลบจากรีจิสเตอร์แบบมีเงื่อนไข ฉันขอแนะนำให้อ่านบทความ Wikipedia (เชื่อมโยงกับด้านบน) ความท้าทาย งานของคุณคือการเขียนโปรแกรมที่สั้นที่สุดที่สามารถใช้โปรแกรม Fractran ที่ถูกต้องจาก STDIN เป็นเพียงอินพุตและสร้างโปรแกรม BF ที่ถูกต้องไปยัง STDOUT ที่จำลองโปรแกรม Fractran มีสองวิธีที่คุณสามารถจำลองโปรแกรม Fractran กับ BF หมายเหตุ: คำตอบของคุณไม่ใช่โปรแกรม BF คำตอบของคุณคือรหัสที่สร้างโปรแกรม BF จากโปรแกรม Fractran ใด ๆ เป้าหมายคือการรับโปรแกรม BF ให้เทียบเท่ากับโปรแกรม Fractran (ในทางเทคนิคคุณสามารถแข่งขันใน BF ได้ แต่มันคงยาก) …

30
เครื่องสร้างรหัสตั๋วสุ่ม
บริษัท ลอตเตอรีต้องการสร้างหมายเลขตั๋วลอตเตอรี่แบบสุ่มที่มีความยาว 10 อักขระ เขียนรหัสในภาษาใด ๆ เพื่อสร้างตัวเลขที่ทุกหลักมาเพียงครั้งเดียวเช่น9354716208ในจำนวนนี้จำนวนเต็มทั้งหมดจาก 0 ถึง 9 มาเพียงครั้งเดียว หมายเลขนี้ควรเป็นตัวเลขสุ่ม หมายเลขที่สร้างควรแสดงบนหน้าจอ จะต้องสามารถสร้างการเรียงสับเปลี่ยนทั้งหมดของอักขระที่อนุญาตทั้งหมด รหัสจำเป็นต้องมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ (เป็นไบต์)
18 code-golf 

30
ฉันจะหาแฟกทอเรียลของจำนวนบวกได้อย่างไร
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ความท้าทาย: เขียนโปรแกรมหรือฟังก์ชั่นที่ปัจจัยการผลิตเป็นจำนวนบวกและผลตอบแทนของปัจจัย หมายเหตุ: นี่เป็นคำถามการหมุนรหัส กรุณาอย่าใช้คำถามและ / หรือคำตอบอย่างจริงจัง ข้อมูลเพิ่มเติมที่นี่ คำถามการหมุนรอบโค้ดทุกคำถามก็เป็นคำถามการประกวดความนิยม

1
แพ้นิ้วเท้า
เขียนโปรแกรมที่ a จะเล่นเกมของMisère tic-tac-toe นั่นคือเป้าหมายคือการบังคับให้คู่ต่อสู้ของคุณใช้สามในแถว ยอมรับอินพุตมาตรฐานทั้ง 'X' หรือ 'O' (ตัวอักษรไม่ใช่ศูนย์) เพื่อพิจารณาว่าจะให้โปรแกรมเล่นด้านใด จากนั้นเอาท์พุทตัวเลขเดียวสำหรับการเคลื่อนไหวของคุณในเทิร์นของคุณและอ่านตัวเลขหนึ่งหลักในเทิร์นของคุณจนกว่าเกมจะจบ (X ไปก่อนเสมอ) เมื่อตัดสินผู้ชนะแล้วให้ส่ง X หรือ O ให้กับผู้ชนะหรือ D เพื่อผลเสมอ ตัวอย่างเช่นถ้า O ได้รับ 3 ในแถว, X ชนะ สมมติว่าบอร์ดมีหมายเลขดังนี้: 0|1|2 ----- 3|4|5 ----- 6|7|8 ทางออกที่ดีจะดีที่สุดและไม่เคยสูญเสีย เช่นเดียวกับโอเอกซ์การเล่นที่สมบูรณ์แบบน่าจะส่งผลให้เสมอ หากปฏิบัติตามโปรโตคอลข้างต้นฉันสามารถทดสอบการส่งโดยอัตโนมัติตามกลยุทธ์ที่เป็นไปได้ต่างๆ ผู้ชนะคือรหัสที่สั้นที่สุด คะแนนโบนัสถ้ามันเลือกแบบสุ่มจากการเคลื่อนไหวที่ดีเท่า ๆ กันเพื่อให้คาดเดาได้ยากขึ้น

1
ฉันเคยแก้ปริศนากอล์ฟรหัสเช่นคุณ แต่แล้วฉันก็เอาลูกธนูที่หัวเข่า
ได้รับการตีเข่าที่มีลูกศรน่าจะเป็นอาการบาดเจ็บของทางเลือกในขณะนี้ ดังนั้นฉันขอเสนอความท้าทายกอล์ฟต่อไปนี้ คุณมีนักผจญภัยที่มีลักษณะเช่นนี้: O /|\ / | \ | | / \ / \ รับไฟล์ข้อความที่มีหนึ่งธนู (วาดเป็น}สัญลักษณ์) ชุดของกำแพง (วาดเป็น#สัญลักษณ์) และนักผจญภัยคนหนึ่งเขียนรหัสที่เล็กที่สุดที่คำนวณมุมและความเร็วเริ่มต้นที่คุณควรยิงธนูเพื่อตี เขาที่หัวเข่า สมมติว่าต่อไปนี้: อักขระแต่ละตัวในไฟล์คือ 0.5 x 0.5 เมตร ลูกศรถูกไล่ออกจากศูนย์กลาง}ของ0.25m, 0.25m แรงโน้มถ่วงคือ 10ms^-2 ลูกศรมีน้ำหนัก 0.1kg Arrow เป็นจุดเช่นการชนเกิดขึ้นเฉพาะเมื่อพิกัดของลูกศรเข้าสู่หนึ่งในบล็อก ความเร็วเริ่มต้นสูงสุดคือ 50m/s มุมอาจอยู่ระหว่าง 0 (ตรงขึ้น) และ 180 (ตรงลง) การชนส่วนใดส่วนหนึ่งของขาของนักผจญภัยนั้นถือเป็นการชนที่หัวเข่า กำแพง ( #ตัวอักษร) ใช้บล็อก 0.5 มม. 0.5 …

21
Javascript: สร้างอาร์เรย์ 10x10 จำนวน 1 วินาที
เห็นได้ชัดว่าความท้าทายนี้จะไม่สำคัญกับฟังก์ชั่นและไลบรารีแยกต่างหากดังนั้นจึงไม่ได้รับอนุญาต รหัสของคุณจะต้องเป็นไปตามข้อกำหนด ECMAscript (ข้อกำหนดเฉพาะใด ๆ ) ดังนั้นจึงไม่มีคำตอบเฉพาะสำหรับเบราว์เซอร์ อาร์เรย์ต้องสามารถเข้าถึงได้หลังจากอินสแตนซ์นั้น ฉันมีคำตอบที่ฉันจะระงับในตอนนี้ หมายเหตุ:ความท้าทายนี้มีเฉพาะกับจาวาสคริปต์เพราะไม่สะดวกที่จะสร้างอาร์เรย์หลายมิติในจาวาสคริปต์

13
ขุมทรัพย์โจรสลัด
การค้นหาขุมทรัพย์ที่ซ่อนโดยโจรสลัดนั้นง่ายมาก ทุกสิ่งที่คุณต้องการสำหรับแผนที่นี้คือ เป็นที่ทราบกันอย่างกว้างขวางว่าโจรสลัดวาดแผนที่ด้วยมือและอธิบายอัลกอริทึมเพื่อหาสถานที่ด้วยวิธีต่อไปนี้: "ยืนใกล้ต้นปาล์มโดดเดี่ยวทำ 30 ก้าวสู่ป่า 15 ก้าวสู่ทะเลสาบ ... " การเดินทางผ่านเส้นทางดังกล่าวมักจะเป็นโอกาสที่ดีที่จะได้เห็นทิวทัศน์ ... อย่างไรก็ตามในปัจจุบันไม่มีใครมีเวลา นั่นเป็นสาเหตุที่ผู้แสวงหาสมบัติขอให้คุณเขียนโปรแกรมที่จะระบุตำแหน่งที่แน่นอนของขุมทรัพย์โดยใช้แผนที่ที่กำหนด อินพุต อินพุตประกอบด้วยคำสั่งหลายคำสั่ง<Direction> <Distance>คั่นด้วยเครื่องหมายจุลภาค (ซึ่งตามด้วยหนึ่งช่องว่างแต่ละคำสั่ง) เส้นทางเป็นหนึ่งในสิ่งต่อไปนี้: N- เหนือ, S- ใต้, E- ตะวันออก, W- ตะวันตก, NE- ตะวันออกเฉียงเหนือ, NW- ตะวันตกเฉียงเหนือ, SE- ตะวันออกเฉียงใต้, SW- ตะวันตกเฉียงใต้ ระยะทางเป็นจำนวนเต็ม (1 ถึง 1,000) เอาท์พุต ผลลัพธ์คือพิกัดที่คุณสิ้นสุดหลังจากทำตามคำแนะนำด้วยทศนิยมสามตำแหน่งคั่นด้วยเครื่องหมายจุลภาคและช่องว่าง ตำแหน่งเริ่มต้นมีพิกัดเป็นศูนย์ (0, 0) พิกัดแรกคือX (ทิศตะวันออกหมายถึงพิกัดที่มีขนาดใหญ่กว่าศูนย์ส่วนตะวันตกหมายถึงน้อยกว่าศูนย์) ที่สองพิกัดY (นอร์ทหมายมากขึ้นกว่าศูนย์ภาคใต้หมายถึงน้อยกว่าศูนย์) ตัวอย่าง 1 …
18 code-golf 

6
ข้อความแสดงข้อผิดพลาดปลอม
เขียนโปรแกรมที่พิมพ์ข้อความแสดงข้อผิดพลาดทางไวยากรณ์ของคอมไพเลอร์หรือล่าม ข้อความแสดงข้อผิดพลาดควรทำให้เข้าใจผิดเพื่อให้ผู้ดูแลโค้ดใช้เวลาหลายวันในการตรวจสอบว่าข้อผิดพลาดนั้นปลอมซึ่งหมายความว่าคุณควรทำให้งงงวย (และซ่อนเจตนาของคุณ) นอกจากนี้ข้อผิดพลาดจะต้องตรงตามที่เป็นไปได้และควรอ้างอิงรหัสอย่างถูกต้อง สำหรับภาษาที่ใช้งานสมมติว่าผู้ดูแลรหัสของคุณจะทำcompile program.p && ./programในบรรทัดคำสั่งเพื่อคอมไพล์และรันโปรแกรมซึ่งหมายความว่าเขาไม่สามารถแยกแยะได้ว่าเอาต์พุตมาจากคอมไพเลอร์หรือตัวโปรแกรมเอง นอกจากนี้สมมติว่าผู้ดูแลรหัสของคุณจะเปิดข้อความแสดงข้อผิดพลาดทางไวยากรณ์ สำหรับการอ้างอิงต่อไปนี้เป็นตัวอย่างที่ฉันทำ: https://gist.github.com/359604 DATAส่วน encodes สตริงของข้อผิดพลาดและกัญชา%abcdefเป็นตารางการถอดรหัส ข้อผิดพลาดที่พิมพ์อ้างอิงถึงแบ็กสแลชซึ่งทำให้ผู้ดูแลโค้ดจะพยายามนับแบ็กสแลช ผลงานจะถูกให้คะแนนโดย: รหัสมีเจตนาชัดเจนที่หลอกลวง /6 โค้ดทำซ้ำข้อผิดพลาดอย่างถูกต้อง/16 (จุดของคุณเริ่มต้นด้วย 16 และหารด้วยปัจจัยที่เกี่ยวข้องสำหรับความไม่ถูกต้องแต่ละครั้ง) การใช้อักษรตัวพิมพ์ใหญ่ให้ถูกต้อง: 4 หมายเลขบรรทัดที่ถูกต้องและหมายเลขคอลัมน์: 4 ถ้อยคำที่ถูกต้อง: 2 สำหรับแต่ละคำที่ไม่ถูกต้อง หมายเลขบรรทัดที่อ้างถึงทำให้ผู้ดูแลโค้ดเข้าใจผิด /3 ตัวอย่างเช่น, ./pythontest1.py: line 7: syntax error near token `(' ./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input' ได้รับ …

4
สร้างมือถือขนาดเล็กและสมดุล
คุณได้รับน้ำหนักมากมายและงานของคุณคือสร้างอุปกรณ์เคลื่อนที่ขนาดเล็กที่สมดุลโดยใช้ตุ้มน้ำหนักเหล่านั้น อินพุตเป็นรายการของตุ้มน้ำหนักจำนวนเต็มในช่วง 1 ถึง 9 ที่ครอบคลุม อาจมีการซ้ำซ้อน เอาท์พุทเป็นภาพ ascii ของมือถือที่เมื่อแขวนจะสมดุล อาจแสดงได้ดีที่สุดโดยตัวอย่าง: อินพุต 3 8 9 7 5 ผลลัพธ์ที่เป็นไปได้ | +-----+---------+ | | +--+-+ +----+------+ | | | | 8 ++--+ 7 5 | | 9 3 คุณต้องใช้อักขระ ASCII ตามที่แสดง ส่วนแนวนอนและแนวตั้งอาจมีความยาวเท่าใดก็ได้ ไม่มีส่วนใดของมือถือที่สามารถสัมผัสได้ (ในแนวนอนหรือแนวตั้ง) ส่วนที่ไม่ได้เชื่อมต่อของมือถือ น้ำหนักทั้งหมดจะต้องถูกแขวนจากส่วนแนวตั้งที่มีความยาวอย่างน้อย 1 และจะต้องมีส่วนแนวตั้งที่จะแขวนโทรศัพท์มือถือทั้งหมด ขนาดของมือถือเป็นจำนวน+, -และ|ตัวอักษรที่จำเป็นในการสร้างมันขึ้นมา ขนาดที่ต่ำกว่าดีกว่า คุณสามารถเชื่อมต่อกับกลุ่มได้มากเท่าที่คุณต้องการ …

5
กระโดดและวิ่ง
แมทธิวชอบไขปริศนา เมื่อใดก็ตามที่เขาจัดการเพื่อแก้ปัญหาหนึ่งเขาข้ามไปรอบ ๆ อย่างมีความสุข เมื่อเร็ว ๆ นี้เขาต้องการทำเช่นนี้เนื่องจากฝนดาวตกได้เปิดหลุมอุกกาบาตและพื้นดินซึ่งเขาไม่อยากตก คุณจะได้รับส่วนหนึ่งของภูมิประเทศที่แมทธิวต้องการข้ามหวังว่าจะได้สุขภาพที่ดีในตอนท้าย พื้นดินมีหน่วยเป็นเมตรโดยแต่ละเมตรจะเป็นพื้นดินปกติหรือเป็นหลุม เมื่อเขาวิ่งเขาจะข้ามหนึ่งเมตรต่อหนึ่งก้าว; ทางเลือกคือการกระโดดซึ่งข้ามสี่เมตรต่อขั้นตอน แมทธิวเริ่มต้นที่ด้านซ้ายสุดของมาตรกราวด์แรกและต้องการไปยังจุดสุดท้าย (แต่ไม่เกิน - ลองจินตนาการถึงหลุมที่ไม่มีที่สิ้นสุดเกินกว่ามาตรวัดสุดท้ายที่กำหนดในแนวนอน) อินพุต อินพุตถูกกำหนดเป็นบรรทัดเดียวบนอินพุตมาตรฐานสิ้นสุดโดยตัวแบ่งบรรทัด เส้นประกอบด้วยขีดกลาง ( -) หรือขีดล่าง ( _) แทนเส้นมิเตอร์หรือรูเมตรตามลำดับ ตัวอย่างอินพุตอาจเป็น: ----__--___--- ภูมิทัศน์ที่กำหนดมีอย่างน้อยหนึ่งตัวและที่ความยาวไม่เกิน 30 เมตรและเริ่มต้นด้วยพื้นดินเสมอ เอาท์พุต เอาต์พุตถูกกำหนดบนเอาต์พุตมาตรฐานและแสดงชุดของคำสั่งการเคลื่อนไหวให้กับ Matthew ทั้งrun ( R) หรือjump ( J) ตามที่ระบุไว้ข้างต้น คำสั่งเรียกใช้ทำให้แมทธิววิ่งหนึ่งเมตรในขณะที่กระโดดพาเขาไปข้างหน้าสี่เมตร สำหรับตัวอย่างที่ให้ไว้ข้างต้นการเคลื่อนไหวต่อไปนี้เป็นไปได้: RRJRJRR ซึ่งมีลักษณะโดยประมาณดังนี้: หากไม่มีเส้นทางที่ปลอดภัยผ่านภูมิทัศน์เครื่องหมายอัศเจรีย์ ( !) ควรจะพิมพ์ออกมา อินพุตตัวอย่าง -------- ----__--___--- …

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