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

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

9
ปลดล็อกความลับสู่เขาวงกต 1 มิติ
พื้นหลัง คุณตื่นขึ้นมาเพื่อพบว่าตัวเองหลงทางในเขาวงกตหนึ่งมิติ! มารลึกลับ (หรือบางอย่าง) ปรากฏขึ้นและอธิบายว่าทางออกอยู่ข้างหน้าคุณ แต่ระหว่างคุณกับทางออกนั้นเป็นความท้าทาย เมื่อคุณเดินไปข้างหน้าคุณจะพบว่าความท้าทายที่เรียกว่าทั้งหมดเป็นเพียงประตูที่ถูกล็อค ก่อนอื่นคุณจะเห็นประตูที่มีรูกุญแจรูปตัวทีและไม่มีกุญแจดังกล่าวทำตามขั้นตอนของคุณอีกครั้งมองหากุญแจที่มีTรูปร่าง ท้อแท้คุณพบซุปตัวอักษรของกุญแจอยู่บนพื้นดินซึ่งไม่ตรงกับประตูที่คุณเจอ ด้วยสกิลอัจฉริยะ (หรือ idiocy) คุณคิดว่าtคีย์ตัวพิมพ์เล็กอาจจะสามารถใส่ในช่องได้หากคุณติดขัดในที่นั่นยากพอ ในขณะที่คุณเข้าใกล้ประตูโดยใช้tกุญแจตัวพิมพ์เล็กในมือTรูเรืองแสงสีเขียวและประตูจะละลายด้านหน้าของคุณ ลงหนึ่งไปอีกมากมาย ... ท้าทาย เป้าหมายของการท้าทายนี้คือการทำเครื่องหมายว่ามีกี่ขั้นตอนที่คุณต้องออกจากเขาวงกต การป้อนข้อมูลของความท้าทายนี้เป็นเขาวงกต: [A-Za-z^$ ]หนึ่งสายที่มีเพียงตัวอักษร คำศัพท์: ^- พื้นที่เริ่มต้น ^การป้อนข้อมูลจะมีตรงหนึ่ง $- ทางออก (อิสระ!) $การป้อนข้อมูลจะมีตรงหนึ่ง [A-Z]- อักษรตัวใหญ่มีความหมายว่าประตู คุณสามารถผ่านประตูนี้ได้หากคุณได้รวบรวมกุญแจที่จำเป็นแล้ว [a-z]- ตัวอักษรตัวพิมพ์เล็กหมายถึงกุญแจ คุณรวบรวมกุญแจเหล่านี้โดยการเดินไปยังพื้นที่ที่มีกุญแจ จะมีตัวอักษรตัวใหญ่อย่างน้อยหนึ่งตัวในอินพุต หมายความว่าจำนวนประตูทั้งหมดจะอยู่ระหว่าง 0-26 ประตูทุกบาน[A-Z]จะมีรหัสตัวพิมพ์เล็กที่ตรงกันหนึ่ง[a-z]ตัว อาจมีช่องว่างจำนวนเท่าใดก็ได้ ( ) ในอินพุต ประตูทุกบานจะอยู่ทางขวาของจุดเริ่มต้นและทางซ้ายของทางออก ดังนั้นจะไม่มีประตูฟุ่มเฟือย อินพุตทั้งหมดจะสามารถแก้ไขได้ ผลลัพธ์สำหรับความท้าทายนี้จะเป็นตัวเลขจำนวนขั้นตอนที่ใช้เพื่อออกจากเขาวงกต ขั้นตอนวิธี วิธีการที่เป็นระบบของคุณเพื่อออกจากสถานที่ที่น่าสังเวชนี้มีดังนี้: เริ่มต้นที่จุดเริ่มต้น …
41 code-golf  string 


30
ปัญหาข้าวและหมากรุก
ตำนานของอินเดียเล่าเรื่องราวของนักประดิษฐ์ที่ถูกกล่าวหาในเกมหมากรุกซึ่งสร้างความประทับใจให้จักรพรรดิแห่งอินเดียด้วยเกมของเขามากจนเขาจะได้รับรางวัลเมื่อถามอะไรก็ตาม ชายคนนั้นบอกว่าเขาต้องการที่จะจ่ายในข้าว เขาต้องการเมล็ดข้าวสำหรับตารางแรกของกระดานหมากรุกสองสำหรับสอง, สี่สำหรับสาม, แปดสำหรับสี่และต่อ ๆ ไปจนถึงจัตุรัส 64 จักรพรรดิประหลาดใจที่ชายคนนั้นขอรางวัลเล็ก ๆ น้อย ๆ เช่นนี้ แต่เมื่อนักคณิตศาสตร์ของเขาเริ่มนับเขาก็สูญเสียหนึ่งในจังหวัดของเขา งาน กำหนดความยาวด้านข้างของกระดานหมากรุกสมมุติ (ซึ่งคือ 8 บนกระดานหมากรุกเริ่มต้น) และตัวทวีคูณระหว่างกำลังสอง (ซึ่งเป็น 2 ในตำนาน) คำนวณจำนวนข้าวที่จักรพรรดิต้องจ่ายให้กับผู้ชาย หมายเหตุ ความยาวด้านจะเป็นจำนวนเต็มบวกเสมอ ตัวคูณอาจเป็นจำนวนตรรกยะแทนก็ได้ หากภาษาที่คุณเลือกไม่สามารถแสดงตัวเลขที่มีขนาดใหญ่มากมันก็โอเคตราบใดที่โปรแกรมของคุณสามารถประมวลผลอินพุตที่เล็กลงได้อย่างถูกต้อง นอกจากนี้หากภาษาที่คุณเลือกใช้ปัดเศษค่าที่มากขึ้น (ด้วยเครื่องหมายอธิบาย) มันก็โอเคถ้าค่าเหล่านั้นถูกต้องโดยประมาณ Testcases Input (side length, multiplier) => Output 8, 2 => 18446744073709551615 3, 6 => 2015539 7, 1.5 => 850161998.2854 …
41 code-golf  math 

22
ลบทุก N-th N
งาน ในความท้าทายนี้การป้อนข้อมูลของคุณเป็นรายการจำนวนเต็มบวกที่ไม่ว่างเปล่าซึ่งกำหนดในรูปแบบดั้งเดิมของภาษาของคุณ ผลลัพธ์ของคุณคือรายการเดียวกันในรูปแบบเดียวกันโดยมีองค์ประกอบบางส่วนถูกลบออก คุณจะลบทุกเหตุการณ์ที่เกิดขึ้น1ทุกครั้งที่เกิดขึ้น2ทุกครั้งที่เกิดขึ้นที่สาม3และอื่น ๆ โดยทั่วไปสำหรับจำนวนเต็มบวกทุกตัวNคุณจะต้องลบทุก ๆNเหตุการณ์ที่เกิดขึ้นNจากรายการเริ่มต้นด้วยNเหตุการณ์ที่เกิดขึ้น ตัวอย่าง พิจารณารายการอินพุต [3,2,6,1,1,6,2,3,2,6,6,6,6,1,6,6,3,3,7,2] ก่อนอื่นเราจะลบสิ่งที่เกิดขึ้นทุกครั้ง1: [3,2,6, 6,2,3,2,6,6,6,6, 6,6,3,3,7,2] จากนั้นเกิดขึ้นทุก ๆ วินาทีของ2: [3,2,6, 6, 3,2,6,6,6,6, 6,6,3,3,7 ] จากนั้นเกิดขึ้นทุก ๆ สามของ3: [3,2,6, 6, 3,2,6,6,6,6, 6,6, 3,7 ] ตัวเลข4และ5ไม่เกิดขึ้นในอินพุตดังนั้นจึงสามารถข้ามได้ ต่อไปเราจะลบการเกิดขึ้นที่หกของ6: [3,2,6, 6, 3,2,6,6,6, 6,6, 3,7 ] มีเพียงเหตุการณ์เดียวเท่านั้น7ที่สามารถข้ามได้เช่นกัน ดังนั้นผลลัพธ์ที่ถูกต้องคือ [3,2,6,6,3,2,6,6,6,6,6,3,7] กฎและการให้คะแนน คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบ [1] -> [] [2] …

30
โกงการทดสอบแบบปรนัย
บทนำ ในขณะที่เรียนฉันพยายามคิดหลายวิธีเพื่อโกงการทดสอบแบบเลือกตอบ มันเป็นรุ่นบีบอัดของคำตอบแบบปรนัย วิธีการดังต่อไปนี้: คำตอบสำหรับการทดสอบ: BCAABABA สิ่งเหล่านี้สามารถแปลงเป็น 3 อาร์เรย์ที่แตกต่างกันซึ่งบ่งชี้ว่าจริงหรือเท็จถ้าตัวอักษรปัจจุบันคือคำตอบ: B C A A B A B A A: [0, 0, 1, 1, 0, 1, 0, 1] B: [1, 0, 0, 0, 1, 0, 1, 0] C: [0, 1, 0, 0, 0, 0, 0, 0] การตีความตัวเลขเหล่านี้ในรูปแบบไบนารีจะบีบอัดข้อมูลจำนวนมาก แต่สิ่งนี้สามารถบีบอัดได้อีกเล็กน้อย หากคุณรู้ตำแหน่งของ A และ B …

30
Halloween Golf: The 2spooky4me Challenge!
meme อินเทอร์เน็ตปัจจุบันคือการพิมพ์ 2spooky4me โดยมีบุคคลที่สองพิมพ์ 3spooky5me ตาม(n)spooky(n+2)meรูปแบบ ภารกิจของคุณคือการนำรูปแบบนี้ไปใช้ในภาษาที่คุณเลือก คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่รับค่าn(จากอินพุตมาตรฐานเป็นอาร์กิวเมนต์ของฟังก์ชันหรือทางเลือกที่ใกล้เคียงที่สุด) และส่งออกสตริง(n)spooky(n+2)me(โดยไม่ต้องใส่วงเล็บไปยังเอาต์พุตมาตรฐานเป็นค่าส่งคืนสำหรับฟังก์ชั่น ) โซลูชันของคุณควรใช้งานได้กับอินพุตทั้งหมดตั้งแต่1ต่ำกว่า 2 ค่าต่ำกว่าค่าจำนวนเต็มที่แทนค่าสูงสุดของภาษาของคุณ ( 2^32-3สำหรับ C บนเครื่อง 32- บิตเป็นต้น) ตัวอย่างการนำไปใช้ใน Python: def spooky(n): return "%dspooky%dme"%(n,n+2) spooky(2) -> "2spooky4me" นี่คือรหัส - กอล์ฟดังนั้นช่องโหว่มาตรฐานจึงเป็นสิ่งต้องห้ามและคำตอบที่สั้นที่สุดในการชนะไบต์! ลีดเดอร์บอร์ด สแต็คส่วนย่อยที่ด้านล่างของโพสต์นี้สร้างกระดานแต้มนำจากคำตอบ a) เป็นรายการคำตอบสั้นที่สุดต่อภาษาและ b) เป็นกระดานแต้มนำโดยรวม เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้: ## Language Name, N bytes ที่Nมีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในพาดหัวโดยการตีพวกเขาผ่าน ตัวอย่างเช่น ## Ruby, …
41 code-golf  string 

7
การนับ Quipu: ฐาน 10 ในโลกใหม่
Quipusเป็นอุปกรณ์โบราณที่ใช้โดย Inca ในยุค Precolumbian เพื่อบันทึกตัวเลขในระบบฐานสิบตำแหน่งของนอตบนสายซึ่งทำงานดังนี้: แต่ละกลุ่มของนอตเป็นตัวเลขและมีสามประเภทหลักนอต: นอตฟาดง่าย; "นอตยาว" ประกอบด้วยปมฟาดหนึ่งหรือมากกว่านั้นอีกรอบ; และนอตรูปแปด พลังของสิบจะแสดงตามตำแหน่งตามสายอักขระและตำแหน่งนี้อยู่ในแนวเดียวกันระหว่างเส้นต่อเนื่อง ตัวเลขในตำแหน่งสำหรับ 10 และอำนาจที่สูงกว่าจะถูกแสดงด้วยกลุ่มของนอตง่าย (เช่น 40 เป็นสี่นอตง่าย ๆ ในแถวในตำแหน่ง "สิบ") ตัวเลขในตำแหน่ง "คน" จะแสดงโดยนอตยาว (เช่น 4 เป็นปมที่มีสี่รอบ) เนื่องจากวิธีการผูกปมตัวเลข 1 จึงไม่สามารถแสดงด้วยวิธีนี้และแสดงในตำแหน่งนี้ด้วยปมรูปแปดแปด ศูนย์แสดงโดยไม่มีปมในตำแหน่งที่เหมาะสม รายละเอียด สำหรับความท้าทายนี้แต่ละเส้นของ quipu แสดงหมายเลขเดียว (แม้ว่าตามบทความของ Wikipedia คุณสามารถแสดงตัวเลขจำนวนมากบนหนึ่งสายในการท้าทายนี้เราจะไม่) นอต ปมแต่ละอันจะถูกแสดงด้วยอักขระ ASCII เดียว . หมายถึงปมที่เรียบง่าย : หมายถึงหนึ่งเทิร์นของปมยาว 8 หมายถึงปมแปดรูป | แสดงถึงการขาดปมเช่นเดียวกับตัวคั่นระหว่างตัวเลข การสร้าง …
41 code-golf  number 

30
ปกปิดเลขศูนย์ในรายการ
แรงบันดาลใจจากคำถาม SO นี้ ในฐานะที่เป็นอินพุทคุณจะได้รับรายการจำนวนเต็มที่ไม่ว่างเปล่าซึ่งค่าแรกจะรับประกันว่าไม่เป็นศูนย์ ในการสร้างผลลัพธ์ให้เดินจากจุดเริ่มต้นของรายการแล้วส่งออกแต่ละค่าที่ไม่เป็นศูนย์ไปพร้อมกัน เมื่อคุณพบค่าศูนย์ให้ทำซ้ำค่าที่คุณเพิ่งเพิ่มเข้าไปในเอาต์พุตแทน คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและให้อินพุต / เอาท์พุตมีรูปแบบที่สะดวกซึ่งไม่ได้เข้ารหัสข้อมูลเพิ่มเติมตราบใดที่ยังคงเป็นลำดับของจำนวนเต็ม หากการส่งออกจากโปรแกรมคุณอาจพิมพ์บรรทัดใหม่ต่อท้าย ยกเว้นบรรทัดใหม่ต่อท้ายนี้ผลลัพธ์ของคุณควรเป็นอินพุตที่ยอมรับได้สำหรับการส่งของคุณ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ [1, 0, 2, 0, 7, 7, 7, 0, 5, 0, 0, 0, 9] -> [1, 1, 2, 2, 7, 7, 7, 7, 5, 5, 5, 5, 9] [1, 0, 0, 0, 0, 0] -> [1, 1, 1, …

4
ระบุโปรแกรม Brainf ** k ที่ถูกต้อง
Golunar / Unaryเป็นวิธีการเข้ารหัสโปรแกรมBrainfuck ที่ถูกต้องทั้งหมดแต่ก็ไม่ได้เป็นการแจงนับเนื่องจากตัวเลขที่เป็นธรรมชาติส่วนใหญ่ไม่สอดคล้องกับโปรแกรมที่ถูกต้อง สำหรับจุดประสงค์ของการท้าทายนี้ให้ใช้เทปที่ไม่มีที่สิ้นสุดเป็นทวีคูณและไม่มีความคิดเห็นเช่นโปรแกรม Brainfuck นั้นใช้ได้ถ้าหากมันประกอบไปด้วยตัวละคร<>+-.,[]และวงเล็บซ้ายและขวาเท่านั้น ตัวอย่างเช่นโปรแกรมที่ว่างเปล่า,[+][-]., [>+<[--].]และ+[+[+][+[+]+]+]+.โปรแกรม brainfuck ที่ถูกต้องในขณะที่][และa[]ไม่ได้ งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ยอมรับโปรแกรม Brainfuck ที่ถูกต้องเป็นอินพุตและส่งคืนจำนวนธรรมชาติ ( 1 , 2 , 3 , …) โดยมีข้อ จำกัด ดังต่อไปนี้: ผลลัพธ์ที่สร้างขึ้นจะต้องแตกต่างกันไปสำหรับโปรแกรม Brainfuck ที่ถูกต้องทั้งหมด สำหรับทุกจำนวนธรรมชาติnจะต้องมีโปรแกรม brainfuck ที่ถูกต้องเมื่อมีให้เป็น input สร้างเอาท์พุทn กฎเพิ่มเติม รับโปรแกรม Brainfuck ที่มีขนาด 100 ไบต์หรือน้อยกว่าโปรแกรมหรือฟังก์ชันของคุณจะต้องเสร็จสิ้นภายในหนึ่งนาที ซึ่งหมายความว่าคุณไม่สามารถทำซ้ำในโปรแกรม Brainfuck ที่ถูกต้องทั้งหมดจนกว่าคุณจะตรงกับอินพุต ใช้กฎมาตรฐานของกอล์ฟ

30
พิมพ์ uniqchars!
กำหนดสตริงที่ประกอบด้วยตัวอักษร ASCII พิมพ์ , ผลิตออกประกอบด้วยของตัวอักษรที่ไม่ซ้ำกันในการสั่งซื้อเดิม กล่าวอีกนัยหนึ่งเอาท์พุทเหมือนกันกับอินพุตยกเว้นว่าถ่านจะถูกลบออกถ้ามันปรากฏขึ้นก่อนหน้านี้ ไม่มีบิวด์อินสำหรับค้นหาองค์ประกอบเฉพาะในอาเรย์ที่สามารถใช้ได้ (ตัวอย่างเช่น MATLAB มีuniqueฟังก์ชั่นที่ทำเช่นนั้น) แนวคิดคือการทำด้วยตนเอง รายละเอียดเพิ่มเติม: ทั้งฟังก์ชั่นหรือโปรแกรมที่ได้รับอนุญาต อินพุตและเอาต์พุตสามารถอยู่ในรูปแบบของฟังก์ชันอาร์กิวเมนต์, stdin / stdout (แม้สำหรับฟังก์ชัน) หรือผสมกัน ถ้า stdin stdout หรือมีการใช้สตริงเป็นที่เข้าใจกันเพียงลำดับของตัวอักษร หากข้อโต้แย้งฟังก์ชั่นที่มีการใช้ลำดับของตัวอักษรอาจจะต้องมีการปิดล้อมในเครื่องหมายคำพูดหรือสัญลักษณ์เทียบเท่าว่าภาษาการเขียนโปรแกรมของการใช้ทางเลือกสำหรับการกำหนดสตริง เอาต์พุตควรเป็นสตริงที่มีเฉพาะอักขระเฉพาะของอินพุต ดังนั้นจึงไม่มี linebreaks พิเศษช่องว่าง ฯลฯ ข้อยกเว้นเพียงอย่างเดียวคือ: หากเอาต์พุตถูกแสดงใน stdout ฟังก์ชันการแสดงผลส่วนใหญ่จะเพิ่มการต่อท้าย\n(เพื่อแยกสตริงออกจากสิ่งที่จะมาถัดไป) ดังนั้นหนึ่งต่อท้าย\nเป็นที่ยอมรับใน stdout ถ้าเป็นไปได้โพสต์ลิงค์ไปยังล่าม / คอมไพเลอร์ออนไลน์เพื่อให้ผู้อื่นสามารถลองใช้รหัสของคุณ นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่างบางส่วนสมมติว่า stdin และ stdout: สตริงอินพุต: Type unique chars! สตริงเอาต์พุต: Type uniqchars! …
41 code-golf  string 

1
รับโต๊ะวางเก้าอี้
ท้าทาย คุณจะได้รับตารางเป็น input ที่วาดด้วย ASCII และ| _งานของคุณคือการวางเก้าอี้รอบ ๆ ตัวอย่าง การป้อนข้อมูล: ____ | | | | | | | | |____| เอาท์พุท: _^_^_ < > | | < > | | <_ _ _> v v เก้าอี้เหล่านั้นทำจาก<>และv^. ตัวอย่างอื่น: สายจะต้องมีเก้าอี้ให้มากที่สุดเท่าที่จะทำได้ _____ | |_____ | | | | | | | _____| |_____| …
41 code-golf 

16
String.prototype.isRepeated
อัพเดท : การส่ง Pyth ของ isaacgเป็นผู้ชนะ! หลายคนคงเคยได้ยินว่ามี JavaScript รุ่นเย็นในเมือง (อ่าน ES6) ซึ่งมีวิธีการString.prototype.repeatเพื่อให้คุณสามารถทำ "Hello, World!".repeat(3) และรับ "Hello, World!Hello, World!Hello, World!" เป็นเอาท์พุท งานของคุณคือการเขียนฟังก์ชั่นหรือโปรแกรมในภาษาที่คุณเลือกซึ่งตรวจพบว่าสตริงได้รับภายใต้การเปลี่ยนแปลงดังกล่าว เช่นสตริงอินพุตสามารถแสดงเป็นการnซ้ำซ้อนเวลาที่แน่นอนของสตริงที่เล็กกว่า เอาท์พุท (เป็นคำสั่งส่งกลับของฟังก์ชั่นหรือ STDOUT) ควรเป็นจริงถ้าสตริงสามารถหรือเท็จถ้าสตริงไม่สามารถแสดงเป็นซ้ำของสตริงที่มีขนาดเล็กลง ตัวอย่างอินพุตบางส่วน: "asdfasdfasdf" // true "asdfasdfa" // false "ĴĴĴĴĴĴĴĴĴ" // true "ĴĴĴ123ĴĴĴ123" // true "abcdefgh" // false โปรดทราบว่าการป้อนข้อมูลครั้งสุดท้ายเป็นเท็จจึงnควรมากกว่า1 ทำตามกฎ เขียนฟังก์ชั่น / โปรแกรมในภาษาใด ๆ เพื่อป้อนข้อมูล (ผ่านฟังก์ชั่นอาร์กิวเมนต์ …
41 code-golf  string 

30
มันเป็นปีอธิกสุรทินหรือไม่
ความท้าทายนี้ค่อนข้างง่าย คุณจะรับอินพุตซึ่งจะเป็นปีตั้งแต่ 1801 ถึง 2400 และส่งออกถ้าเป็นปีอธิกสุรทินหรือไม่ ข้อมูลที่คุณป้อนจะไม่มีบรรทัดใหม่หรือช่องว่างต่อท้าย: 1954 คุณจะเอาท์พุทในแบบที่คุณชอบที่บอกผู้ใช้อย่างชัดเจนว่ามันเป็นหรือไม่ปีอธิกสุรทิน (ฉันจะยอมรับ y หรือ n สำหรับใช่ / ไม่ใช่) คุณสามารถรับรายชื่อปีอธิกสุรทินได้ที่นี่: http://kalender-365.de/leap-years.php ฉันจะทราบว่าปีอธิกสุรทินไม่เคยมีสี่ปีเสมอไป 2439 เป็นปีอธิกสุรทิน แต่ไม่ใช่ 1900 ปีที่ติดตาม "ข้าม" นี้คือ: 1900 2100 2200 2300 กรณีทดสอบ: 1936 -> y 1805 -> n 1900 -> n 2272 -> y 2400 -> y แก้ไข: นี่เป็นพื้นฐานของปฏิทินเกรกอเรียน: http://www.epochconverter.com/date-and-time/daynumbers-by-year.php

14
Maze Generation [ปิด]
ฉันรู้ว่ามีเธรด (เก่า) คล้ายกับที่นี่ ( ที่นี่ ) แต่ฉันต้องการรีบูตด้วยการแก้ไขบางอย่าง เป้าหมาย: สร้างเขาวงกตที่ดูสุ่มโดยใช้อัลกอริทึมที่คุณเลือกจากนั้นแสดงผลเขาวงกตแบบกราฟิก (จำนวนการพิมพ์) คุณเป็นผู้กำหนดความกว้างและความสูง ควรมีเส้นทางอย่างน้อยหนึ่งเส้นทางจากทางเข้าอย่างน้อยหนึ่งทางไปยังทางออกอย่างน้อยหนึ่งแห่ง รูปแบบของเขาวงกต (วิธีที่คุณแสดง, ทำเครื่องหมายทางเข้าหรือออก) ก็ขึ้นอยู่กับคุณเช่นกัน ยิ่งสวยยิ่งดี เขาวงกตเล็กน้อย (เช่นเขาวงกตที่ว่างเปล่าเขาวงกตขัดแตะเขาวงกตขนาด 1x1) จะหมดกำลังใจ อนุญาตให้วนรอบในเขาวงกตและได้รับการสนับสนุนหากผลลัพธ์มีความสมเหตุสมผล สนับสนุนการใช้ภาษาในทางที่ผิด เขาวงกตควรมีลักษณะสุ่มอย่างสมเหตุสมผล (แต่อัลกอริธึมที่กำหนดขึ้นอย่างสมบูรณ์ (เช่นวุ่นวาย) ที่สร้างสิ่งนี้ก็ดีเช่นกัน) แก้ไข: จุดสนใจหลักที่นี่คือการทำให้การใช้งานมีความเป็นไปได้น้อยที่สุด อย่างไรก็ตามฉันต้องการอนุญาตให้ระยะทางเพิ่มขึ้นภายในข้อ จำกัด นั้นเพื่อส่งเสริมความมันวาว ฉันได้จงใจทิ้งไว้อย่างแน่นอนว่า "คุณสมบัติ" เขาวงกตที่มีปลายเปิด แต่เป็นแนวทางคร่าวๆคุณควรพยายามที่จะแพ็คปังจำนวนมากที่สุดลงในเจ้าชู้ศัพท์น้อยที่สุด

12
วาดการไล่ระดับสีในศิลปะ ASCII
คำอธิบายงาน: เขียนโปรแกรมสั้นที่สุดเท่าที่จะทำได้เพื่อวาดการไล่ระดับสีรัศมีในศิลปะ ASCII ขนาดของกริดเอาต์พุตถูกกำหนดไว้ล่วงหน้า จุดกึ่งกลางและอักขระที่จะใช้สำหรับการไล่ระดับสีนั้นเป็นข้อมูลป้อนเข้าสู่โปรแกรม การไล่ระดับสีจะเป็นเซลล์ขนาด 70 × 25 อักขระโดยมีข้อกำหนดดังต่อไปนี้ มุมซ้ายบนของตารางมีพิกัด (0, 0) การไล่ระดับสีประกอบด้วยตัวอักษรให้เป็นแมปออกเป็น 35 หน่วยความยาว หน่วยความยาวคือหนึ่งอักขระสูงและกว้างสองอักขระ (เนื่องจากmonospaced fontsมักจะมีอักขระสูงเป็นสองเท่าตามที่กว้าง) ภายใน 35 LU เหล่านั้นระยะทางปัจจุบันจากจุดกึ่งกลางจะถูกคูณด้วยจำนวนตัวไล่ระดับสี / 35เพื่อให้ดัชนีของตัวละครวาดที่จุดนั้น ตัวเลขเศษส่วนสำหรับดัชนีจะถูกปัดเศษเป็นศูนย์ที่นี่ หน่วยความยาวจะถูกทิ้งให้เป็นจำนวนจริง (แน่นอนถ้าผลลัพธ์เหมือนกันการใช้งานไม่สำคัญ) นอกเหนือจาก 35 LU เหล่านั้นจะมีเพียงตัวไล่ระดับสีตัวสุดท้ายที่ปรากฏขึ้น อย่างไรก็ตามเนื่องจากแถบ«ไล่ระดับสีล่าสุด»เริ่มขึ้นแล้วภายใน 35 LU อักขระตัวสุดท้ายจึงเริ่มปรากฏขึ้นเมื่อไม่ถึง 35 LU แล้ว การป้อนข้อมูล: อินพุตถูกกำหนดให้กับอินพุตมาตรฐานและประกอบด้วยสามบรรทัดแต่ละบรรทัดถูกยกเลิกโดยตัวแบ่งบรรทัด: xพิกัดของจุดศูนย์การไล่ระดับสี Yพิกัดของจุดศูนย์การไล่ระดับสี อักขระที่ใช้สำหรับการวาดการไล่ระดับสี สิ่งเหล่านั้นอาจรวมถึงช่องว่าง เอาท์พุท: เอาท์พุทเป็นไล่ระดับสีตามที่กำหนดโดยกฎข้างต้นในเอาต์พุตมาตรฐาน กระแสข้อผิดพลาดมาตรฐานจะถูกละเว้น แต่ละเส้นของการไล่ระดับสีถูกยกเลิกโดยการขึ้นบรรทัดใหม่ ไม่มีตัวละครอื่นนอกจากที่กำหนดโดยอินพุตอาจเกิดขึ้น …

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