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

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

3
นำเต่าของคุณโดยสาย
เขียนโปรแกรมหรือฟังก์ชั่นที่รับสายอักขระบรรทัดเดียวแบบไม่มีอักขระที่พิมพ์ได้ซึ่งไม่รวมช่องว่าง: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ คุณอาจสันนิษฐานว่าอินพุตนั้นถูกต้อง ขึ้นอยู่กับอินพุตวาดสตริงใหม่ที่จัดเรียงบนตารางต้นฉบับของช่องว่างและบรรทัดใหม่ตามกราฟิกเต่า - กฎที่เต่าที่เต่ามักจะใช้พื้นที่ตารางเดียวและสามารถหันหน้าไปทางทิศทางที่สำคัญเท่านั้น พิมพ์อักขระตัวแรกในสตริงอินพุตไปยังกริดข้อความ เต่าเริ่มหันมาทางขวา วนซ้ำตัวอักษรที่เหลือในสตริงอินพุต (หยุดเฉพาะเมื่อเต่าติดอยู่) โดยทำซ้ำขั้นตอนนี้: หากช่องว่างทั้ง 4 ช่องที่อยู่ติดกับเต่านั้นเต็มไปหมด (เช่นไม่มีช่องว่างใด ๆ ) ให้หยุดการทำซ้ำ เต่าติดอยู่และกริดนั้นเสร็จสมบูรณ์เท่าที่จะเป็นไปได้ ดูอักขระปัจจุบันในอินพุตเปรียบเทียบกับอักขระก่อนหน้า: หากตัวละครในปัจจุบันเป็นศัพท์ก่อนหน้าก่อนหน้าหมุนเต่าหนึ่งในสี่เลี้ยวซ้าย หากตัวละครปัจจุบันเป็นคำศัพท์หลังจากก่อนหน้าหมุนเต่าหนึ่งในสี่เลี้ยวขวา หากตัวละครปัจจุบันเท่ากับก่อนหน้าอย่าหมุนเต่า หากพื้นที่กริดที่เต่ากำลังเผชิญอยู่นั้นไม่ว่างเปล่า (เช่นไม่ใช่ที่ว่าง) ให้หมุนเต่าหนึ่งครั้งในไตรมาสที่เหลือจนกระทั่งเธอหันหน้าเข้าหาพื้นที่กริดที่ว่างเปล่า ย้ายเต่าหนึ่งย่างก้าวไปข้างหน้าในทิศทางที่เธอหันหน้าไปและพิมพ์อักขระปัจจุบันบนกริดในตำแหน่งใหม่ของเต่า พิมพ์หรือส่งคืนสตริงกริดข้อความที่เป็นผลลัพธ์โดยไม่มีแถวหรือคอลัมน์ที่ไม่เกี่ยวข้องของช่องว่าง บรรทัดอาจมีช่องว่างต่อท้ายจนถึงคอลัมน์ขวาสุดโดยไม่มีช่องว่าง แต่ไม่เกิน ขึ้นบรรทัดใหม่แบบลากเดียวก็ได้ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง spattuuxzeนี่คือขั้นตอนทั้งหมดของท่าน ^V<>ตัวอักษรแสดงทิศทางที่เต่าจะหันพวกเขาจะไม่ได้เป็นส่วนหนึ่งของการป้อนข้อมูลหรือการส่งออก s> ^ p s <ap s ^ t ap s ^ t t ap s …
17 code-golf  string  grid 

13
ดัชนีการเปลี่ยนแปลงของผกผัน
บทนำ พีชคณิตเรียงลำดับของรายการที่มีองค์ประกอบnสามารถกำหนดหมายเลขได้ตั้งแต่ 0 ถึงn ! - 1. ตัวอย่างเช่น 3! = 6 พีชคณิต(1,2,3)จะ(1,2,3), (1,3,2), (2,1,3), (2,3,1), ,(3,1,2)(3,2,1) เมื่อการเรียงสับเปลี่ยนถูกนำไปใช้กับรายการองค์ประกอบของมันจะเรียงลำดับตามลำดับเดียวกับตัวเลขในการเรียงลำดับ ยกตัวอย่างเช่นการใช้การเปลี่ยนลําดับ(2,3,1)การอัตราผลตอบแทนl = (a,b,c)(l[2],l[3],l[1]) = (b,c,a) อินเวอร์สของการเปลี่ยนแปลงนั้นหมายถึงการเรียงสับเปลี่ยนที่ย้อนกลับการดำเนินการนี้คือการใช้การเปลี่ยนแปลงและจากนั้นอินเวอร์สของมัน (หรือกลับกัน) ไม่ได้ปรับเปลี่ยนอาร์เรย์ ยกตัวอย่างเช่นค่าผกผันของการ(2,3,1)เป็น(3,1,2)ตั้งแต่การใช้ที่อัตราผลตอบแทน(b,c,a)(a,b,c) นอกจากนี้การเปลี่ยนแปลงผกผันของนำไปใช้กับการเปลี่ยนแปลงของตัวเองผลตอบแทนถัวเฉลี่ยเลข 1 ... n ยกตัวอย่างเช่นการใช้(3,1,2)เพื่อให้อัตราผลตอบแทน(2,3,1)(1,2,3) ตอนนี้เรากำหนดฟังก์ชั่นrevind ( x ) เป็นดัชนีของการเปลี่ยนแปลงผกผันของการเปลี่ยนแปลงที่มีดัชนีx (นี่คือA056019หากคุณสนใจ) เนื่องจากการเรียงสับเปลี่ยนกับดัชนีฉันเพียงแก้ไขรายการสุดท้ายkของรายการiff 0 ≤ i < k !,เราสามารถเพิ่มองค์ประกอบจำนวนใด ๆ ไปยังจุดเริ่มต้นของรายการโดยไม่มีผลต่อrevind ( i ) ดังนั้นความยาวของรายการจึงไม่มีผลต่อผลลัพธ์ …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

21
สร้างสตริงตัวอักษร 6 ตัวจากตัวอักษร 15 ตัว
ในโครงการของเราในที่ทำงานเมื่อเร็ว ๆ นี้เราค้นพบวิธีการที่ยิ่งใหญ่เป็นพิเศษในการสร้างสตริงตัวอักษร 6 ตัวจากตัวอักษร 15 ตัว พวกเราสองสามคนอ้างว่า "ฉันพนันได้เลยว่าจะได้ในบรรทัดเดียว" ซึ่งเริ่มเกมโค้ดกอล์ฟเล็ก ๆ งานของคุณคือการเอาชนะพวกเราซึ่งฉันไม่สงสัยเลยว่าจะใช้เวลานาน! อัลกอริทึมดั้งเดิมใช้ตัวอักษร 0-9A-E แต่เราได้ทดลองกับตัวอักษรอื่น ดังนั้นจึงมีสามงานย่อย สร้าง6สตริงตัวอักษรสุ่มเลือกจาก15ตัวอักษรตัวอักษรhardcoded เช่นABC123!@TPOI098ตัวอักษรตัวอักษรเช่น(นี่เป็นเพียงตัวอย่างและควรปรับแต่งได้โดยไม่กระทบกับจำนวนไบต์) สร้าง6สตริงตัวอักษรสุ่มเลือกจาก15ตัวอักษรตัวอักษร0123456789ABCDEตัวอักษรตัวอักษร สร้าง6สตริงตัวอักษรสุ่มเลือกจาก15ตัวอักษรตัวอักษรที่คุณเลือก (โปรดพิมพ์ตัวอักษรเท่านั้น) ตัวละครแต่ละตัวควรมีโอกาสในการเลือกและการซ้ำซ้อนเท่ากัน สิ่งที่ดีที่สุดที่เราสามารถจัดการได้สำหรับแต่ละงานย่อยคือ: "ABC123! @ TPOI098" - 24 bytes "0123456789ABCDE" - 21 bytes ตัวอักษรที่กำหนดเอง - 13 bytes คะแนนของคุณคือผลรวมของไบต์ในโซลูชันของแต่ละภารกิจย่อย เช่นคะแนนของเราคือ 58 เราได้ลองใช้กับ CJam และ Ruby ต้นฉบับอยู่ใน C # ใช้ภาษาที่คุณชอบ แต่เราจะสนใจที่จะเห็นวิธีแก้ปัญหาในภาษาเหล่านี้โดยเฉพาะ

12
การตรวจสอบ Woz
ท้าทาย ฉันเพิ่งเข้าสู่คอมพิวเตอร์ 8 บิตและรู้สึกทึ่งกับผลงานของพวกเขาและคนอื่น ๆ ดังนั้นวัตถุประสงค์ของรหัสกอล์ฟนี้คือการทำซ้ำส่วนของ Woz Monitor ซึ่งออกแบบโดย Steve Wozniak สำหรับ Apple I คุณจะต้องเก็บอาร์เรย์ของค่าเลขฐานสิบหก 22 ค่าที่มีความกว้างสองไบต์ (ค่าต่ำสุด$ 10 , ค่าสูงสุด$ FF ) จากนั้นใช้จำนวนn-จำนวนอินพุต (ปกติสองภาษาเช่น Brainfuck อาจมีช่วงเวลาที่ยากลำบาก) อินพุตจะอ้างอิงตำแหน่งที่อยู่ในอาเรย์เพื่อเริ่มการพิมพ์จากและตำแหน่งที่จะหยุด อินพุตที่มีพฤติกรรมที่กำหนดจะมีค่าเริ่มต้นน้อยกว่าหรือเท่ากับค่าสิ้นสุด โปรแกรมของคุณจะต้องสามารถพิมพ์ค่าเลขฐานสิบหกทุกค่าระหว่างและรวมถึงเลขฐานสิบหกที่ป้อนเข้า ตัวอย่างของสิ่งนี้: Array 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 …

12
นับถอยหลังมิติ
เขียนฟังก์ชัน f (n, k) ที่แสดงการนับถอยหลัง k-dimension จาก n การนับถอยหลัง 1 มิติจาก 5 ดูเหมือนว่า 54321 การนับถอยหลัง 2 มิติจาก 5 ดูเหมือนว่า 54321 4321 321 21 1 ในที่สุดการนับถอยหลัง 3 มิติจาก 5 ดูเหมือนว่า 54321 4321 321 21 1 4321 321 21 1 321 21 1 21 1 1 นิยามอย่างเป็นทางการ การนับถอยหลัง 1 มิติจาก n ใด …
17 code-golf  string 

9
จำนวนเต็มย้อนกลับไปตามกาลเวลา
การป้อนข้อมูล: จำนวนเต็ม เอาท์พุท: ก่อนอื่นแปลงจำนวนเต็มเป็นตัวเลขโรมันที่เทียบเท่ากัน จากนั้นแปลงตัวอักษรพิมพ์ใหญ่ของตัวเลขโรมันแต่ละตัวให้เป็นค่าทศนิยม ASCII / UNICODE และเอาท์พุทผลรวมของสิ่งเหล่านั้น ตัวอย่าง: 1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449 ^ input ^ output ตัวเลขโรมัน:นี่คือตัวแปลงตัวเลขโรมันที่มีประโยชน์ กฏท้าทาย: มีการใช้กฎตัวเลขโรมันมาตรฐานดังนั้นจึงไม่มีรูปแบบอื่นที่เหมือนIIIIหรือVIIIIแทนIVและIX* บรรทัด Macron ด้านบนตัวเลขโรมันที่ผ่าน 1,000 คือ¯(UNICODE nr. 175) ดังนั้นนับเป็นหนึ่งบรรทัดและสองเป็น+175+350 คุณได้รับอนุญาตให้ใช้ประเภทอินพุตและเอาต์พุตชนิดใดก็ได้ตราบใดที่มันแสดงถึงจำนวนเต็ม 1 - 2,147,483,647กรณีทดสอบจะอยู่ในช่วงของ * กฎตัวเลขโรมัน (อ้างอิงจาก Wikipedia): ตัวเลขเกิดขึ้นจากการรวมสัญลักษณ์และการเพิ่มค่าดังนั้นจึงIIเป็นสอง (สองคน) และXIIIเป็นสิบสาม (สิบและสามคน) เนื่องจากแต่ละตัวเลขมีค่าคงที่แทนที่จะเป็นตัวแทนทวีคูณของสิบหนึ่งร้อยและต่อ ๆ ไปตามตำแหน่งไม่จำเป็นต้องมี "การเก็บรักษา" เป็นศูนย์เช่นเดียวกับในจำนวน 207 …

2
ให้ตารางความจริงเอาท์พุทโปรแกรม Stackylogic ที่ตรงกับมัน
Stackylogic เป็นภาษาโปรแกรมที่ผมทำขึ้นมาในความท้าทายที่ก่อนหน้านี้: Run Stackylogic อ่านโพสต์นั้นสำหรับรายละเอียดและตัวอย่างทั้งหมด แต่นี่คือวิธีการถอดความ: Stackylogic ใช้0's และ1' s สำหรับอินพุตและเอาต์พุตเดี่ยว0 หรือ1เมื่อเสร็จสมบูรณ์ โปรแกรมประกอบด้วยบรรทัดที่มีเฉพาะอักขระ01?เช่นเดียวกับหนึ่ง<บรรทัดที่ส่วนท้ายของหนึ่งบรรทัด สายอาจจะไม่ว่างเปล่าและบรรทัดที่มี<จะต้องมีอย่างน้อยหนึ่ง0, 1หรือ ?ก่อนที่มันจะ นี่คือตัวอย่างโปรแกรมที่คำนวณNANDของสองบิต: 1 ?< 11 ? 0 ทุกบรรทัดในโปรแกรมถือว่าเป็นสแต็กโดยมีด้านล่างทางด้านซ้ายและด้านบนทางด้านขวา โดยปริยายมีสแต็กเปล่า (เช่นบรรทัดว่าง) ก่อนบรรทัดแรกในโปรแกรมและหลังบรรทัดสุดท้าย กระบวนการ<เรียกว่าเคอร์เซอร์ทำเครื่องหมายสแต็กเพื่อเริ่มต้นเมื่อโปรแกรมทำงาน การดำเนินการดังต่อไปนี้: วางอักขระบนสุดออกจากสแต็กที่เคอร์เซอร์กำลังชี้ไป หากตัวละครนั้น?ให้แจ้งผู้ใช้สำหรับ0หรือหรือ1และทำราวกับว่าเป็นตัวละคร หากอักขระอยู่0ให้เลื่อนเคอร์เซอร์ขึ้นหนึ่งกอง (ไปยังบรรทัดที่อยู่เหนือบรรทัดปัจจุบัน) หากอักขระอยู่1ให้เลื่อนเคอร์เซอร์หนึ่งสแต็กลง (ไปยังบรรทัดด้านล่างบรรทัดปัจจุบัน) หากกองเคอร์เซอร์เลื่อนไปที่ว่างเปล่าเอาท์พุทค่าสุดท้ายที่โผล่ออกมาจากกอง (เสมอ0หรือหรือ1) และจบโปรแกรม มิฉะนั้นหากเคอร์เซอร์เลื่อนไปที่ไม่ว่างเปล่าให้กลับไปที่ขั้นตอนที่ 1 และทำซ้ำกระบวนการ สิ่งสำคัญที่ต้องตระหนักสำหรับความท้าทายนี้คือการที่ทุกโปรแกรม Stackylogic ถือเอาตารางความจริง จำนวนบูลีนที่กำหนดค่าไว้ล่วงหน้าบางรายการเป็นอินพุตและบูลีนหนึ่งรายการจะถูกกำหนดไว้อย่างแน่นอน ดังนั้นงานของคุณคือสร้างโปรแกรม Stackylogic ที่สร้างความพึงพอใจหรือจำลองสถานการณ์เช่นมีเอาต์พุตเหมือนกับตารางความจริงที่กำหนด แต่ไม่ชัดเจนว่า Stackylogic สามารถจำลองตารางความจริงใด …

2
ขัดขวางการบีบอัด Lepton
Dropbox เพิ่งเปิดตัวLepton ( GitHub ) ซึ่งเป็นวิธีการบีบอัดภาพ JPEG แบบไปกลับโดยไม่สูญเสียความประหยัดโดยเฉลี่ย 22% เนื่องจากหลักการของpigeonholeอัลกอริธึมการบีบอัดทั่วไปใด ๆจึงไม่สามารถรับประกันว่าจะส่งผลให้ไฟล์มีขนาดเล็กลง ( ทั่วไปเนื่องจากไม่ได้ใช้กับอินพุตที่ จำกัด รูปแบบเฉพาะ) Lepton หาประโยชน์จากลักษณะทั่วไปเกี่ยวกับ JPEG ซึ่งหากล้มล้างอาจทำให้ช่องว่างในการสร้างไฟล์มีขนาดใหญ่กว่าแหล่งที่มา ความต้องการ เขียนโปรแกรมที่สร้าง: รูปภาพ JPEG / JFIF ที่ถูกต้อง ขนาดระหว่าง 0.5 MB ถึง 1 MB ไม่เล็กกว่า 256 × 256 พิกเซล ไม่ใหญ่กว่า 4096 × 4096 พิกเซล เลปตันเป็นที่รู้จัก (สามารถ "บีบอัด" .lepภาพ) และ คลายการบีบอัดให้เหมือนกัน .jpg (เป็นอินพุต) …

8
ค้นหาตัวเลขภายในค่าคงที่ของ Copeland – Erd
พื้นหลัง โคป-แอร์ดิชคงเป็นกำหนดการ "0. ว่า" กับฐาน 10 แทนจำนวนเฉพาะในการสั่งซื้อ ค่าของมันคือ 0.23571113171923293137414... ดูเพิ่มเติมOEIS A033308 โคปและแอร์ดิชได้รับการพิสูจน์ว่าเป็นจำนวนปกติ นี่ก็หมายความว่าทุกจำนวนธรรมชาติสามารถพบได้ในบางจุดในการขยายทศนิยมของค่าคงที่ของ Copeland-Erd ความท้าทาย กำหนดจำนวนเต็มบวกให้แสดงในฐาน 10 (โดยไม่มีศูนย์นำหน้า) และส่งออกดัชนีการปรากฏตัวครั้งแรกภายในลำดับเลขทศนิยมของค่าคงที่ Copeland – Erd Er อนุญาตรูปแบบอินพุตและเอาต์พุตที่เหมาะสม แต่อินพุตและเอาต์พุตควรอยู่ในฐาน 10 โดยเฉพาะอินพุตสามารถอ่านเป็นสตริงได้ และในกรณีนั้นสามารถสันนิษฐานได้ว่าไม่มีเลขศูนย์นำหน้า เอาต์พุตอาจเป็นแบบอิง 0 หรืออิง 1 เริ่มต้นจากทศนิยมแรกของค่าคงที่ ผลลัพธ์ที่แท้จริงอาจถูก จำกัด ด้วยชนิดข้อมูลหน่วยความจำหรือกำลังประมวลผลและโปรแกรมอาจล้มเหลวในบางกรณีการทดสอบ แต่: ควรทำงานในทางทฤษฎี (เช่นไม่คำนึงถึงข้อ จำกัด เหล่านั้น) สำหรับข้อมูลใด ๆ ควรใช้งานจริงอย่างน้อยสี่รายแรกและสำหรับแต่ละกรณีผลลัพธ์ควรเกิดขึ้นในเวลาไม่ถึงนาที กรณีทดสอบ เอาต์พุตถูกกำหนดเป็น 1-based 13 --> 7 …

16
หมายเลขนารายานา - ไซเดค - คาเปลล์
สร้างn TH นารายณ์-Zidek-Capellจำนวนที่กำหนดอินพุตn ไบต์ที่น้อยที่สุดจะชนะ f (1) = 1, f (n) คือผลรวมของชั้นก่อนหน้า (n / 2) ข้อกำหนดของ Narayana-Zidek-Capell กรณีทดสอบ: f(1)=1 f(9)=42 f(14)=1308 f(15)=2605 f(23)=664299

12
การแบ่งปันความลับของ Shamir
ป.ร. ให้ไว้n(จำนวนของผู้เล่น) t(ค่าเกณฑ์) และs(ความลับ) เอาท์พุทnลับที่สร้างขึ้นโดยอัลกอริทึมที่ใช้ร่วมกันความลับของมิร์ อัลกอริทึม สำหรับจุดประสงค์ของการท้าทายนี้การคำนวณจะกระทำในGF (251) (เขตข้อมูลขนาด จำกัด251หรือที่รู้จักกันในชื่อจำนวนเต็มmod 251 ) ตามปกติแล้วฟิลด์จะถูกเลือกเพื่อให้ขนาดของมันใหญ่กว่าnมาก เพื่อลดความท้าทายขนาดของสนามจะคงที่ 251ได้รับเลือกเนื่องจากเป็นจำนวนที่ใหญ่ที่สุดที่สามารถแทนได้โดยเลขจำนวนเต็ม 8 บิตที่ไม่ได้ลงชื่อ สร้างt-1จำนวนเต็มสุ่มใน (รวม) [0, 250]ช่วง ป้ายเหล่านี้1ผ่านT-1 สร้างt-1พหุนามระดับปริญญาที่ใช้sเป็นค่าคงที่และจำนวนเต็มแบบสุ่มจากขั้นตอนที่ 1 เป็นค่าสัมประสิทธิ์ของพลังของx: f (x) = s + x * a 1 + x 2 * a 2 + ... + x t- 1 * a T-1 เอาท์พุท(f(z) …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

3
คำนวณ 3BV ของ Minesweeper Board
3BVของเรือกวาดทุ่นระเบิดคณะกรรมการหมายถึงจำนวนขั้นต่ำของการคลิกซ้ายจำเป็นในการแก้กระดานถ้าคุณรู้อยู่แล้วว่าการแก้ปัญหา มันย่อมาจาก "เกณฑ์มาตรฐานของคณะกรรมการของเบคเทล" นี่คือเว็บไซต์ของเขาอธิบาย ด้านล่างเป็นบอร์ด Minesweeper ที่แก้ไขแล้ว ธงระบุว่าเหมือง; ไทล์ที่ไม่มีทุ่นระเบิดระบุจำนวนของทุ่นระเบิดที่อยู่ติดกันรวมถึงแนวทแยงมุมยกเว้นไทล์ที่ควรมี "0" จะถูกปล่อยว่างไว้แทน ภาพแสดงกระเบื้องที่จะต้องคลิกเพื่อแก้ปัญหากระดาน จำนวนคลิกต่อ 3BV คือ: หนึ่งรายการสำหรับแต่ละพื้นที่ที่เต็มไปด้วยน้ำท่วมของกระเบื้องว่างเปล่า (ติดกับศูนย์เหมือง) และเพื่อนบ้านที่ไม่ว่าง หนึ่งรายการสำหรับกระเบื้องที่ไม่ใช่ของฉัน ตัวอย่างอื่น (3BV = 39) กำหนดอาร์เรย์ 2 มิติของค่า0สำหรับความชัดเจนและ1การเหมืองแร่ (หรือบูล) กลับ 3BV ขนาดของคณะกรรมการจะต้องมีอย่างน้อย 8x8 และไม่เกิน 24x30 รวม โปรแกรมของคุณควรจัดการบอร์ดที่เป็นไปได้ทั้งหมดไม่ใช่แค่ตัวอย่างเท่านั้น หมายเหตุ: บอร์ดจะไม่มีเหมืองเท่านั้น ตัวอย่าง I / O: [[0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0], [0,0,0,1,0,0,1,0], [0,1,0,0,1,0,0,0], [0,0,1,0,0,0,0,1], [0,0,0,1,0,0,0,0], [0,0,0,0,0,0,1,0], [0,0,0,0,0,0,0,1]] 23 …

20
ย้อนกลับวิ่งคี่
แรงบันดาลใจ งาน ย้อนกลับการทำงานของตัวเลขคี่ในรายการที่กำหนดของ 2 ถึง 2 15จำนวนเต็มไม่เป็นลบ ตัวอย่าง 0 1 →การ 0 1 1 3 →การ 3 1 1 2 3 →การ 1 2 3 1 3 2 →การ 3 1 2 10 7 9 6 8 9 →การ 10 9 7 6 8 9 23 12 32 23 25 …

11
อิโมจิของฉันแห้งหรือไม่
นี่คืออีโมจิสัตว์เลี้ยงของฉันบิลลี่: -_- อิโมจิไม่ชอบอยู่กลางสายฝนดังนั้นบิลลี่จึงเศร้า ... มาวาดร่มกันเพื่อทำให้เขารู้สึกดีขึ้น! /\ / \ / \ -_- นี่เป็นสิ่งที่ดีเขาได้รับร่มของเขาทั้งหมด! นี่คือตัวอย่างที่ครอบคลุมเพียงบางส่วนของเขา: /\ / \ / \ -_- ในกรณีนี้ส่วนที่ 2 และ 3 ของร่างกายของเขาถูกฝน ร่มมาในหลายรูปร่างและขนาด แต่พวกเขากำลังทำเสมอขึ้นมาจากชุดของทับน้อยไปหามาก/ตามมาด้วยชุดของ \backslashes ตัวอย่างเช่นสิ่งเหล่านี้เป็นร่มที่ถูกต้องทั้งหมด: /\ / \ / \ /\ /\ / \ / \ / \ / \ และนี่ไม่ใช่: / \ \/ \ / \ …

7
การพลิกกลับสตริงปกติและสตริงที่มองเห็น
เขียนโค้ดที่ทำหน้าที่เป็นโปรแกรม cat นั่นคือเพื่อป้อนสตริงและส่งออกตามที่เป็นอยู่ แต่การพลิกกลับปกติของรหัสของคุณจะต้องส่งกลับการพลิกกลับปกติของสายอักขระอินพุต และการพลิกกลับที่มองเห็นได้ของรหัสของคุณจะต้องส่งออกการพลิกกลับที่มองเห็นได้ของสายป้อน การกลับรายการปกติคือลำดับอักขระที่ตรงกันข้ามของสตริง การพลิกกลับทางภาพคือการพลิกกลับตามปกติ()[]{}<>โดยแทนที่อักขระ)(][}{><ตามลำดับ คุณสามารถใช้เพจรหัสใด ๆ ที่มีอักขระ()[]{}<>และมีการเผยแพร่ก่อนการท้าทายนี้เพื่อกำหนดอักขระ คุณต้องใช้เพจรหัสเดียวกันสำหรับรหัสทั้งหมดของคุณ รหัสต้นฉบับของคุณต้องถูกต้องในเพจรหัสนี้และใช้รหัสที่กลับรายการของคุณอย่างใดอย่างหนึ่งเพื่อที่จะให้ผลตอบแทนเอง นี่คือcode-golfรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง สำหรับสตริงAB(XY), reversions ปกติและภาพที่มี)YX(BAและ(YX)BAตามลำดับ หากรหัสของคุณ (ในภาษาสมมุติ) คือAB(XY)รหัส)YX(BAและ(YX)BAควรส่งออกการย้อนกลับปกติและภาพของสายป้อนตามลำดับ และAB(XY)ควรทำตัวเป็นโปรแกรมแมว

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