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

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

30
ห่วงทำลายอัตโนมัติสั้นที่สุด
งานของคุณคือการเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ใช้เวลาไม่ป้อนข้อมูลและการทำงานประเภทของวง (ใด ๆwhile, for, foreach, do, do-while, do-loop, goto, recursion ฯลฯ ) ที่จะสิ้นสุดในการก่อให้เกิดข้อผิดพลาดซึ่งหมายความว่าโปรแกรมที่จะต้องหยุดตัวเองทำงานและ ทางออก กฎ: ข้อผิดพลาดต้องเป็นข้อผิดพลาดในการทำงานข้อยกเว้นที่ไม่สามารถจัดการได้หรือสิ่งใดก็ตามที่ทำให้โปรแกรมหยุดทำงานเอง ข้อผิดพลาดจะต้องสร้างการหยุดและออกจากโปรแกรมโดยไม่ต้องเรียกอย่างชัดเจนexit;(หรือเทียบเท่า) ในบางจุด ข้อความเช่นWarning:, Notice:ฯลฯ ที่ไม่ทำให้โปรแกรมสิ้นสุดตัวเองไม่ถูกต้อง ตัวอย่างเช่นในแผนก PHP โดยศูนย์สร้างWarningข้อความ แต่โปรแกรมจะไม่หยุดและจะยังคงทำงานอยู่นี่ไม่ใช่คำตอบที่ถูกต้อง การวนซ้ำต้องทำงานอย่างน้อยหนึ่งรอบเต็ม กล่าวอีกนัยหนึ่งข้อผิดพลาดอาจเกิดขึ้นได้ตั้งแต่รอบที่สองเป็นต้นไป นี่คือการหลีกเลี่ยงที่จะทำให้เกิดข้อผิดพลาดโดยใช้ไวยากรณ์รหัสที่ไม่ถูกต้อง: รหัสจะต้องถูกต้องทางไวยากรณ์ การวนซ้ำอาจเป็นอนันต์ (ตัวอย่างfor(;;);) ถ้ามันเคารพกฎดังกล่าวข้างต้น แต่ต้องใช้เวลาไม่เกิน 2 นาทีในการสิ้นสุดตัวเองในข้อผิดพลาดขณะทำงาน การเรียกซ้ำโดยไม่มี Tail Call Optimization ไม่ถูกต้อง ( 1 , 2 ) นี่คือโค้ดกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม ตัวอย่าง C # …
61 code-golf 

30
Art Attack KoTH
ตอนนี้ปิดรายการแล้ว รายการใหม่หรือการแก้ไขใด ๆ จะไม่ถูกนับในการดำเนินการครั้งสุดท้าย เข้าร่วมการแชท! ท้าทาย พยายามเติมผ้าใบด้วยสีให้ได้มากที่สุด ระวังบอทอื่น ๆ ที่อาจช่วยคุณทำงานหนักได้! หมายเหตุ:ในคำอธิบายความท้าทายนี้การทาสีหมายถึงการเปลี่ยนสีของตารางบนกริดและไม่ได้ทาสีหมายความว่าสแควร์ในกริดมีสี 0 และไม่ได้มีสาเหตุมาจากบ็อตใด ๆ อินพุต ฟังก์ชั่นของคุณจะได้รับสี่ข้อโต้แย้ง: ตัวคุณเองตารางตำแหน่งของบอททั้งหมดในตารางและข้อมูลเกม ตนเอง นี่คืออาร์เรย์ 1D [id, xpos, ypos]ซึ่งหมายถึงสีและตำแหน่งของคุณบนตาราง: (0, 0)ที่มุมบนซ้ายของตารางเป็นตำแหน่ง ตำแหน่ง(1,0)อยู่ทางขวาของตำแหน่ง(0,1)นั้นและอยู่ด้านล่าง ID ของคุณเป็นจำนวนเต็มซึ่งมีความหมายเหมือนกันกับสีของคุณ (ดูด้านล่างเพื่อดูว่า ID ของคุณมีผลต่อการวาดตารางอย่างไร) ID ของคุณไม่ซ้ำกับ bot ของคุณ ตะแกรง นี่คืออาร์เรย์ 2D ซึ่งมีจำนวนเต็มที่บอกคุณว่าแต่ละเซลล์มีสีใด หากจำนวนของเซลล์กริดคือ0นั่นหมายความว่าเซลล์ไม่ได้ทาสี ถ้าจำนวนเซลล์ตารางเป็นจำนวนเต็มxนี้หมายความว่าเซลล์ได้รับการทาสีโดย ธ ปทกับ xID ในการรับสีของตารางที่ตำแหน่ง(x, y)ให้ใช้อาร์เรย์ดังนี้: grid[x][y]. บอท นี่คืออาร์เรย์ที่มีข้อมูลเกี่ยวกับตำแหน่งของบ็อต องค์ประกอบของอาร์เรย์บอทแต่ละตัวคืออาร์เรย์ที่อธิบายแต่ละบอทและมีลักษณะดังนี้: …

30
ทำให้ภาษาของคุณเป็นส่วนใหญ่ * ใช้ไม่ได้! (ด้ายของตำรวจ)
แรงบันดาลใจจากความคิดเห็นนี้ ... ขอขอบคุณผู้ใช้Step Hen , Wheat-WizardและDennis ที่ช่วยฉันสร้างความแข็งแกร่งให้กับสเปคของความท้าทายนี้ก่อนโพสต์มัน! นี่คือหัวข้อของ Cops สำหรับเธรดของ Robbers ให้ไปที่นี่ ในความท้าทายนี้คุณจะได้รับมอบหมายให้ใช้งานโค้ดบางอย่างเพื่อให้ภาษาของคุณไม่เป็นไปตามเกณฑ์การเป็นภาษาการเขียนโปรแกรมอีกต่อไป ในการท้าทายนั้นหมายถึงการทำให้ภาษาไม่สามารถ ... รับอินพุตและเอาต์พุตตัวเลข เพิ่มตัวเลขสองตัวเข้าด้วยกัน ทดสอบว่าจำนวนหนึ่งเป็นจำนวนเฉพาะหรือไม่ นี่เป็นความท้าทายของตำรวจและโจรซึ่งมีความท้าทายสองประการที่แตกต่างกันโดยมีวัตถุประสงค์ที่แตกต่างกันสองประการ: ตำรวจจะพยายามเขียนโค้ดบางอย่างที่ทำให้ภาษาใช้งานไม่ได้เป็นส่วนใหญ่และโจรจะพยายามหาวิธีแก้ปัญหาที่ซ่อนอยู่ เพื่อกู้คืนภาษาของพวกเขา ในฐานะตำรวจคุณต้องเขียนโค้ดสองตัวอย่าง: ภาษาที่ทำให้ภาษาของคุณใช้งานไม่ได้เป็นส่วนใหญ่เช่นโดยการลบฟังก์ชั่นในตัวสำหรับการรับอินพุต / เอาต์พุตและการดำเนินการเชิงตัวเลข ยิ่งคุณลบคุณสมบัติมากเท่าไหร่ก็ยิ่งดีเท่านั้น รหัสนี้ไม่ได้รับอนุญาตให้ผิดพลาดหรือออก มันควรจะเป็นไปได้ที่จะเพิ่มรหัสการสิ้นสุดของข้อมูลโค้ดนี้และรหัสที่จะได้รับการประเมิน และ... ... ตัวอย่างของรหัสที่ใช้จำนวนเต็มไม่เป็นลบสองตัวเป็นอินพุตเพิ่มเข้าด้วยกันและแสดงผลรวมของพวกเขา ตัวอย่างนี้จะต้องทำงานอย่างถูกต้องแม้หลังจากเรียกใช้ข้อมูลโค้ดแรกแล้ว เมื่อรวมข้อมูลโค้ดสองรายการเข้าด้วยกันพวกเขาจะต้องสร้างโปรแกรมเต็มรูปแบบที่เพิ่มตัวเลขสองตัวหรือกำหนดฟังก์ชั่นที่เพิ่มตัวเลขสองตัว ตามหลักแล้วตัวอย่างข้อมูลนี้ควรอาศัยพฤติกรรมที่คลุมเครือมากเพื่อให้ค้นหาได้ยากขึ้น คุณสามารถเลือกวิธีการอินพุตและเอาต์พุตมาตรฐานได้ อย่างไรก็ตามคุณต้องเปิดเผยให้ชัดเจนว่าคุณใช้รูปแบบใด (อินพุตและเอาต์พุต) โจรไม่สามารถถอดรหัสคำตอบของคุณได้เว้นแต่พวกเขาจะใช้รูปแบบเดียวกับคุณ หลังจากเขียนตัวอย่างโค้ดทั้งสองนี้แล้วคุณต้องโพสต์คำตอบแรกโดยไม่เปิดเผยตัวที่สอง คำตอบของคุณควรมีข้อมูลทั้งหมดต่อไปนี้: แรกข้อมูลโค้ด (ไม่ชัดที่สอง) ภาษา (รวมถึงรุ่นรองเนื่องจากการส่งส่วนใหญ่อาจขึ้นอยู่กับกรณีขอบแปลก ๆ ) รูปแบบ IO รวมถึงไม่ว่าจะเป็นฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ โจรต้องใช้รูปแบบเดียวกันเพื่อให้แคร็กของตนใช้งานได้ …

15
ฉันเกลียดช่องว่างในชื่อไฟล์
มันง่าย ฉันไม่สามารถยืนได้เมื่อมีคนใช้พื้นที่เมื่อตั้งชื่อไฟล์ บางครั้งมันทำลายคำสั่งคอนโซลและทำให้เอาต์พุตของ ls น่าเกลียด ความท้าทายคือการเขียนโปรแกรม (เฉพาะตัวอักษร ASCII) ซึ่ง เปลี่ยนชื่อไฟล์ทั้งหมด (รวมถึงไดเรกทอรี) ในไดเรกทอรีปัจจุบันเป็นรุ่นที่มีการลบช่องว่างหรือแทนที่ด้วย '_' ในการชนกันคุณจะต้องผนวกตัวระบุที่ไม่ซ้ำกัน (ขึ้นอยู่กับคุณ) ลงไปซ้ำในไดเรกทอรีย่อยทั้งหมด คุณสามารถสมมติชื่อพา ธ สไตล์ UNIX ใครจะต้องใช้โปรแกรมนี้ในเครื่อง Windows บ้าง? นี่คือรหัสกอล์ฟโปรแกรมที่สั้นที่สุดชนะ (#ascii ตัวอักษร) เนื่องจากฉันเกลียดช่องว่างมากแต่ละพื้นที่จะต้องถูกนับสองครั้ง โปรดระบุภาษาคะแนนโปรแกรมและคำอธิบายโดยย่อเกี่ยวกับวิธีการเรียกใช้ โปรแกรมจะต้องรวบรวมและดำเนินการด้วยความพยายามอย่างสมเหตุสมผลบนเครื่อง linux ของฉัน แก้ไข: ตามที่ Etan ร้องขอโครงสร้างไฟล์สำหรับการทดสอบต่อไปนี้เป็นสคริปต์ที่ฉันใช้เพื่อสร้างแผนผังไฟล์ที่เหมาะสม: #!/bin/bash rm -r TestDir touchfiles() { touch my_file touch my__file touch "my file" touch "my …

28
ทำไม 6 จึงกลัว 7
ทำไม 6 จึงกลัว 7 เพราะ 7 8 9! รับสตริงใช้การแปลงต่อไปนี้: หากมี 6 ติดกับ 7 ลบ 6 (6 คือกลัว 7) หากลำดับ "789" ปรากฏขึ้นให้ลบ 8 และ 9 (7 ate 9) (ถ้าฉันไม่เข้าใจผิดมันไม่สำคัญว่าคุณจะสั่งให้แปลงอะไร) ใช้การแปลงต่อไปเรื่อย ๆ จนกว่าคุณจะไม่สามารถทำได้อีกต่อไป ตัวอย่าง: 78966 ก่อนอื่นเราจะเห็น "789" ดังนั้นสตริงจะกลายเป็น "766" จากนั้นเราจะเห็น "76" เราจึงนำ 6 ออกมาและสตริงกลายเป็น "76" จากนั้นเราจะเห็น "76" อีกครั้งดังนั้นเราจึงเหลือ "7" กรณีทดสอบ: 987=> 987(ไม่อยู่ในลำดับที่ถูกต้องไม่ทำอะไรเลย) …
61 code-golf  string 

30
แบบทดสอบภาษาการเขียนโปรแกรม Mark II - Cops
repost ของนี้ความท้าทาย อภิปราย Meta โพสต์ Sandbox เนื้อความของคำถามคล้ายกับต้นฉบับ ความท้าทายของ Robber ตำรวจและโจรในขณะนี้ (08/03/2018) ปิดเพื่อเข้าร่วมรายการตำรวจแข่งขันเนื่องจากโจรอาจไม่สามารถแข่งขันเพื่อถอดรหัสคำตอบได้อีกต่อไป แต่อย่าลังเลที่จะโพสต์คำตอบใหม่ ความท้าทายของ Cops นั้นชนะDennisด้วยคำตอบของ Sesos ที่ยอดเยี่ยม6 ไบต์ ความท้าทายของ Robbers นั้นชนะโดยมนุษย์โดยสิ้นเชิงด้วยรอยร้าว 30อัน! The Cops 'Challenge ในการแข่งขันเป็นตำรวจ: เลือกภาษาการเขียนโปรแกรม ภาษาโปรแกรมที่ถูกต้องเป็นภาษาที่ตรงตามเกณฑ์ทั้งสามนี้: มันมีบทความวิกิพีเดียภาษาอังกฤษ , บทความ esolangsหรือบทความ Rosetta รหัสในช่วงเวลาที่ท้าทายนี้ถูกโพสต์หรืออยู่ในลองออนไลน์! . การมีล่ามที่เชื่อมโยงในหน้าใด ๆ เหล่านี้ทำให้ล่ามนั้นถูกกฎหมายอย่างสมบูรณ์ มันต้องเป็นไปตามกฎของเราในสิ่งที่ถือเป็นภาษาการเขียนโปรแกรม จะต้องมีล่ามฟรี (เหมือนในเบียร์) ฟรีที่นี่หมายความว่าทุกคนสามารถใช้โปรแกรมได้โดยไม่ต้องจ่ายเงิน เขียนโปรแกรมเต็มรูปแบบที่ผลตัวเลข 1-100 รวมในการสั่งซื้อจากน้อยไปมาก คุณสามารถส่งออกเป็นจำนวนเต็มทศนิยมเป็นค่า bytecode ( !เพื่อเป็นตัวแทนของ …

30
การเรียงลำดับแบบสูญเสีย (ใช้ Dropsort)
Dropsortซึ่งออกแบบโดย David Morgan-Mar เป็นตัวอย่างของ "อัลกอริทึมการเรียงลำดับ" แบบ linear-time ที่สร้างรายการที่จริงแล้วเรียงลำดับแล้ว แต่มีองค์ประกอบดั้งเดิมบางส่วนเท่านั้น องค์ประกอบใด ๆ ที่ไม่ได้มีขนาดใหญ่เท่ากับองค์ประกอบสูงสุดก่อนหน้านั้นจะถูกลบออกจากรายการและทิ้งไป ในงานนี้คุณจะได้รับรายการจำนวนเต็มเป็นอินพุต (STDIN หรือฟังก์ชันอาร์กิวเมนต์คุณจะต้องสนับสนุนอย่างน้อยช่วงของเลขจำนวนเต็มที่มีการลงนามแบบ 8 บิต 8 บิต) งานของคุณคือการลดระดับพวกมันแล้วส่งออกองค์ประกอบที่เหลือใน ใบสั่ง. คุณอาจคิดว่ารายการนั้นไม่ว่างเปล่า นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดชนะ กรณีทดสอบ Input Output 1 2 5 4 3 7 1 2 5 7 10 -1 12 10 12 -7 -8 -5 0 -1 1 -7 -5 0 …

15
วาดเครื่องหมาย€
เป้าหมายคือการส่งออกหรือแสดงภาพที่มีเครื่องหมาย€ (ยูโร) ตามรายละเอียดต่อไปนี้ (ละเว้นเส้นขอบของเครื่องหมาย) ที่มา: http://en.wikipedia.org/wiki/File:Euro_Construction.svg กฎ: โปรแกรม / สคริปต์ต้องใช้ความสูงของ€พิกเซลการลงชื่อเข้าใช้เป็นอาร์กิวเมนต์ (พื้นที่ว่างรอบเครื่องหมายเป็นตัวเลือก) €สัญญาณไม่สามารถวาดเป็นหรือจากตัวละครโดยตรง (มันห้ามไม่ให้ในภาพ) หรือทางอ้อม (คำนวณแล้วแสดงไว้ในหน้าเว็บ HTML ก)print€8364 เอาท์พุทไม่จำเป็นต้องบันทึกลงในไฟล์ใด ๆ ก็สามารถแสดงผลแล้วแสดงเป็นภาพหน้าจอ “ ช่องโหว่” มาตรฐานเป็นสิ่งต้องห้าม รหัสที่สั้นที่สุดชนะ

5
รุ้งดำและขาว
กำหนดรูปภาพที่มีพิกเซลขาวดำเท่านั้นและตำแหน่ง (x, y) ซึ่งเป็นพิกเซลสีขาวสีพิกเซลสีขาวตามระยะทางแมนฮัตตันขั้นต่ำจาก (x, y) ในเส้นทางที่เกี่ยวข้องกับการข้ามพิกเซลสีขาวอื่นเท่านั้น สีของพิกเซลสีจะต้องเป็นสัดส่วนกับระยะทางของพวกเขาจาก (x, y) ดังนั้นพิกเซลที่ (x, y) จะมีสีของ 0 ° (สีแดงบริสุทธิ์) และพิกเซลที่ไกลออกไปจาก (x, y) จะมีเฉดสีที่ 360 ° (เป็นสีแดง) โดยที่เฉดสีอื่น ๆ จะผสมผสานกันอย่างลงตัวและเป็นเส้นตรงระหว่างกัน ทั้งความอิ่มตัวและค่าต้องเป็น 100% หากพิกเซลสีขาวไม่ได้เชื่อมต่อกับ (x, y) ผ่านพิกเซลสีขาวอื่น ๆ จะต้องเป็นสีขาว รายละเอียด การป้อนข้อมูลจะประกอบด้วยชื่อไฟล์ของภาพหรือข้อมูลภาพดิบรวมทั้งจำนวนเต็ม x และ y ภาพที่ส่งออกอาจถูกบันทึกลงในไฟล์หรือไปยังไฟล์ดิบเพื่อ stdout ในรูปแบบไฟล์ภาพทั่วไปหรือแสดงเพียง ค่า x คือ 0 บนพิกเซลซ้ายสุดและเพิ่มไปทางขวา ค่า y …

30
คุณได้อะไรเมื่อคูณ 6 ด้วย 9 (42)
ฉันรักคณิตศาสตร์ แต่ฉันไม่พบเครื่องคิดเลขเดียวที่สามารถคูณได้อย่างถูกต้อง ดูเหมือนว่าพวกเขาจะได้รับทุกอย่างถูกต้องยกเว้น 6 * 9 (มันเป็นคำถามต่อชีวิตจักรวาลและทุกสิ่ง! ฉันอยากให้คุณทุกคนเขียนฟังก์ชันสำหรับฉันที่สามารถคูณ 2 ตัวเลขได้อย่างถูกต้อง (และ 6 * 9 เท่ากับ 42 แทนที่จะเป็น 54 9 * 6 เท่ากับ 54 ยัง) โอ้และฉันจะต้องสร้างแหล่งข้อมูลใน Minecraft ดังนั้น ... ไบต์ที่น้อยที่สุดชนะ! ปะยางรถ รับ 2 ตัวเลขเป็นอินพุต (ชนิดไม่สำคัญ แต่จะมีเพียง 2 รายการเท่านั้นและลำดับจะต้องสอดคล้องกันดังนั้นสตรีมและอาร์เรย์ก็โอเคตราบใดที่พวกเขายังคงรักษาลำดับที่พวกเขาผ่านเข้ามานั่นคือแผนที่ชนะ ใช้งานไม่ได้เพราะไม่รักษาลำดับ) เอาท์พุทหลายของทั้งสองหมายเลขยกเว้นถ้าพวกเขาเป็น 6 และ 9 จากนั้นออก 42 (สั่งเรื่อง!) PS ฉันไม่เคยนับเลขได้ดีเลยดังนั้นฉันคิดว่าเฉพาะจำนวนเต็มตั้งแต่ 0 ถึง 99 …

30
วาด downslashes ของฉัน
ในฐานะโปรแกรมเมอร์คุณอาจเคยได้ยินเกี่ยวกับเครื่องหมายทับซ้ายและย้อนกลับ แต่คุณเคยได้ยินเรื่อง downslashes หรือไม่ นั่นคือเมื่อคุณใช้สแลชจำนวนมากเชื่อมต่อปลายของพวกเขาและดึงพวกเขาลงไป สำหรับความท้าทายในวันนี้คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้สายอักขระที่ประกอบด้วยสแลชและส่งออกสแลชทั้งหมดที่วาดลงในบรรทัดที่เชื่อมต่อพวกเขา นี่จะชัดเจนมากขึ้นถ้าคุณเห็นตัวอย่าง รับสาย\\\//\/\\คุณควรส่งออก: \ \ \ / / \ / \ \ นี่คือคำอธิบายบางอย่าง: จะต้องมีหนึ่งสแลชต่อบรรทัด บรรทัดแรกจะมีช่องว่างนำหน้า 0 ช่อง สำหรับเครื่องหมายสแลชแต่ละคู่: หากพวกเขาแตกต่างกันพวกเขาจะถูกดึงในคอลัมน์เดียวกัน ตัวอย่างเช่น\/จะให้: \ / หากพวกเขาเป็นตัวละครเดียวกันตัวล่างจะอยู่ในทิศทางที่ชี้ไปนั่นคือการย้ายไปทางขวาสำหรับแบ็กสแลชและย้ายไปทางซ้ายสำหรับสแลชข้างหน้า ดังนั้น\\//จะให้ \ \ / / แต่ละบรรทัดอาจมีช่องว่างต่อท้ายพิเศษตราบใดที่สิ่งนี้ไม่เปลี่ยนลักษณะที่ปรากฏของเอาต์พุต ขึ้นอยู่กับการขึ้นบรรทัดใหม่และการขึ้นบรรทัดใหม่ชั้นนำด้วยเช่นกัน ไม่อนุญาตให้เว้นวรรคนำหน้า! เพื่อให้ง่ายกว่านี้คุณสามารถสันนิษฐานได้ว่าสตริงจะไม่มีเครื่องหมายทับซ้ายมากเกินไป กล่าวอีกนัยหนึ่งคำนำหน้าของอินพุตจะไม่มีเครื่องหมายทับซ้ายมากกว่าแบ็กสแลชดังนั้นอินพุตเช่น\\////หรือ//จะไม่ได้รับ ซึ่งหมายความว่าอินพุตทุกรายการจะเริ่มต้นด้วยแบ็กสแลช หากอินพุตของคุณถูกใช้เป็นตัวอักษรสตริงคุณอาจหลีกเลี่ยงแบ็กสแลชได้หากจำเป็น คุณไม่จำเป็นต้องจัดการอินพุตที่ว่างเปล่าหรือมีอักขระอื่นนอกเหนือจากเครื่องหมายทับ คุณอาจจะส่งออกโดยใด ๆรูปแบบที่เหมาะสม ตามปกตินี่เป็นความท้าทายของการเล่นกอล์ฟดังนั้นพยายามแก้ปัญหาให้สั้นที่สุดแม้ว่าคุณจะเลือกภาษาที่ค่อนข้างยาก คะแนนโบนัสสำหรับการอธิบายเทคนิคที่น่าสนใจใด ๆ ที่คุณใช้ในการถอดไบต์! ตัวอย่าง #Input \\\\\\\\\\\ …

30
เครื่องพิมพ์สตริงลึกลับ (ตำรวจ)
เธรดโจรสามารถพบได้ที่นี่: เครื่องพิมพ์สตริงลึกลับ (โจร) ความท้าทายของคุณ เขียนโปรแกรมฟังก์ชั่นหรือสคริปต์ REPL ที่พิมพ์สตริงไปยัง STDOUT โจรจะพยายามสร้างโปรแกรมที่พิมพ์สตริงเดียวกัน หากพวกเขาประสบความสำเร็จสามารถสร้างโปรแกรมภายใน 7 วันการส่งของคุณจะแตก หากไม่มีใครสามารถสร้างโปรแกรมที่พิมพ์สตริงเดียวกันภายใน 7 วันการส่งของคุณปลอดภัย คุณอาจเลือกที่จะเปิดเผยโปรแกรมของคุณหรือปล่อยให้มันไปท้าทายโจรในอนาคต อย่างไรก็ตามหากคุณไม่เปิดเผยคุณจะไม่ได้รับคะแนนใด ๆ จากการส่งของคุณ (อย่าใส่ "ปลอดภัย" ในส่วนหัวคำตอบหากคุณเลือกที่จะทำ) ข้อ จำกัด โปรแกรมจะต้องน้อยกว่าหรือเท่ากับ 128 ไบต์ทั้งหมด (เพิ่มเติมในภายหลัง) หากโปรแกรมขึ้นอยู่กับชื่อโปรแกรมหรือชื่อ / เนื้อหาของไฟล์ภายนอกคุณต้องบอกว่าทำเช่นนั้นและรวมไว้ในจำนวนไบต์ทั้งหมดของคุณ สตริงที่พิมพ์ต้องน้อยกว่าหรือเท่ากับ 2048 ไบต์ สตริงที่พิมพ์ต้องประกอบด้วยอักขระ ASCII ที่พิมพ์ได้เท่านั้น (สามารถรวมบรรทัดใหม่ได้) โปรแกรมต้องสร้างเอาต์พุตเดียวกันทุกครั้งที่รัน การเข้ารหัสแบบดั้งเดิมในตัว (ไม่รวมถึง rng, การเข้ารหัส, การถอดรหัสและการแฮช) ใด ๆ โปรแกรมจะต้องไม่นำเข้า ไม่มีช่องโหว่มาตรฐาน เกณฑ์การให้คะแนน หากการส่งแตกก่อนหน้าเจ็ดวันการส่งจะได้รับ …

12
สนามกอล์ฟ ASCII
ลองพิจารณารถขบวน ASCII ทั้งเจ็ดนี้ เครื่องยนต์ (E) __ ====== \/ | [] |========= | ) ================ O-O-O O-O-O \\ รถยนต์นั่งส่วนบุคคล (P) =============== | [] [] [] [] | =============== O-O O-O Boxcar (B) =============== |-|-| | |-|-| =============== O-O O-O เรือบรรทุกน้ำมัน (T) _____---_____ ( ) =============== O-O O-O สิ่งที่กระโดด (H) _______________ \ …

9
เกมหิว - กินหรือตาย
เกมหิว - กินหรือตาย ถ้าคุณไม่กินคุณก็ตาย ถ้าคุณกินคุณมีชีวิตอยู่ (จนกว่าคุณจะตาย) คุณจะตายดังนั้นพยายามที่จะตายครั้งสุดท้าย ภาพรวม มีเกาะที่เต็มไปด้วยฝูงสัตว์ที่เป็นเหยื่อ คุณสามารถควบคุมนักล่าห้าคน เป้าหมายของคุณคือรักษาแพ็คของคุณให้มีชีวิตอยู่ ทำได้โดยกินเหยื่อ เหยื่อมีแนวโน้มที่จะหนีจากผู้ล่าและพยายามอยู่ในฝูงเป็นอย่างอื่น แน่นอนว่าแพ็คของคุณจะอยู่ในเขตเดียวกันกับชุดอื่น ๆดังนั้นการแข่งขันจะพยายามกินพวกเขาก่อนที่คุณจะสามารถ อย่าปล่อยให้เรื่องนี้ทำให้คุณท้อใจหรือคุณจะอดอาหาร วิธีการเล่น สร้างและส่งโปรแกรมบรรทัดคำสั่งเพื่อกำกับแพ็คของคุณ มันจะรับข้อมูลสถานะจากโปรแกรมควบคุมบน STDIN และคำสั่งเอาต์พุตบน STDOUT รูปแบบดังกล่าวมีรายละเอียดด้านล่าง แต่ละโปรแกรมจะดำเนินการเพียงครั้งเดียวและจะต้องทำงานต่อไปจนกว่าจะไม่มีสมาชิกแพ็คอีกต่อไป คุณจะต้องอ่านอินพุตเมื่อเข้ามาและตอบกลับอย่างรวดเร็ว มีการหมดเวลาที่เข้มงวด 200ms สำหรับการตอบกลับแต่ละครั้ง หากคุณยังไม่ตอบกลับแพ็คของคุณจะไม่ได้รับคำแนะนำใหม่สำหรับเทิร์นปัจจุบัน หากโปรแกรมของคุณไม่สามารถเรียกใช้งานได้โดยคอนโทรลเลอร์จะถือว่าไม่ถูกต้อง โปรดรวมสตริงบรรทัดคำสั่งที่ฉันจะต้องใช้ในการเรียกใช้การส่งของคุณ หากมีคำแนะนำพิเศษใด ๆ (สำหรับการตั้งค่าคอมไพเลอร์ ฯลฯ ) โปรดรวมไว้ด้วย หากฉันไม่สามารถทำงานได้ฉันจะขอความช่วยเหลือในความคิดเห็น หากคุณไม่ตอบสนองฉันจะไม่สามารถยอมรับการส่งของคุณได้ การแข่งขันจะจัดขึ้นในระบบ Linux 64 บิต โปรดระลึกไว้เสมอเมื่อมีคำแนะนำที่จำเป็น รายละเอียด ตำแหน่งและทิศทางของสิ่งมีชีวิตแต่ละตัวอยู่ในรูปแบบของตัวเลขทศนิยมที่มีความแม่นยำสองเท่า (เช่นdouble) แทนxและyพิกัดตามลำดับ สิ่งมีชีวิตแต่ละตัวถือว่าเป็นจุด ซึ่งหมายความว่าพวกเขาสามารถทับซ้อนกันและครอบครองพื้นที่เดียวกัน …

30
สองสิ่งที่ทำให้ความแตกต่าง - ตำรวจ
ประกาศ - ความท้าทายนี้ปิดตอนนี้ คำตอบใหม่ใด ๆ จะถูกละเว้นและคำตอบที่ยอมรับจะไม่เปลี่ยนแปลง ท้าทาย เขียนโปรแกรมที่ถูกต้องซึ่งเมื่อมีเพียงสองตัวอักษรในโปรแกรมที่มีการเปลี่ยนแปลงลบหรือเพิ่มการเปลี่ยนแปลงอย่างสมบูรณ์เอาท์พุท เอาต์พุตที่เปลี่ยนแปลงต้องมีระยะทาง Levenshtein 15หรือมากกว่าจากเอาต์พุตดั้งเดิมของคุณ ผลลัพธ์จะต้องไม่ว่างเปล่าและมีขอบเขต จำกัด โปรแกรมของคุณจะต้องสิ้นสุดภายใน 1 นาที ผลลัพธ์ของคุณจะต้องกำหนดไว้ล่วงหน้าโดยให้ผลลัพธ์เหมือนกันทุกครั้งที่คุณเรียกใช้โปรแกรม มันจะต้องไม่ขึ้นอยู่กับแพลตฟอร์ม ฟังก์ชันแฮชใด ๆ จะไม่ได้รับอนุญาตเช่นเดียวกับที่สร้างขึ้นใน PRNG ในทำนองเดียวกันการหว่าน RNG ไม่ได้รับอนุญาต หลังจากผ่านไปสามวันการส่งที่ไม่ได้ติดตามจะปลอดภัย เพื่อเรียกร้องความปลอดภัยนี้คุณควรแก้ไขคำตอบของคุณเพื่อแสดงคำตอบที่ถูกต้อง (การชี้แจง: จนกว่าคุณจะเปิดเผยคำตอบคุณจะไม่ปลอดภัยและยังสามารถแตกได้) การจัดรูปแบบ คำตอบของคุณควรอยู่ในรูปแบบต่อไปนี้: # <Language name>, <Program length> ## Code <code goes here> ## Original Output <output goes here> ## Changed output …

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