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

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

3
นี่เป็นเหมืองของฉันหรือเปล่า?
เมื่อวานฉันออกจากแซนด์วิชบนโต๊ะ เมื่อฉันตื่นขึ้นมาวันนี้มันกัดอยู่ ... มันเป็นของฉันเหรอ? ฉันจำไม่ได้ ... ปัญหา: เป็นตัวแทนของแซนด์วิชและรูปแบบการกัดของฉันและบอกฉันว่ามันเป็นของฉันกัดหรือไม่ ตัวอย่าง: ตัวอย่างที่ 1: รูปแบบการกัดของฉัน: .. . แซนวิช: ##### .#### ..### เอาท์พุท: truthy ตัวอย่างที่ 2: รูปแบบการกัดของฉัน: .. .. แซนวิช: ...## ..### .#### เอาท์พุท: falsy ตัวอย่างที่ 3: หากมีการหมุนอย่างน้อย 1 ครั้งที่นับว่าเป็นความจริงเอาต์พุตจะเป็นความจริง รูปแบบการกัดของฉัน: . . . แซนวิช: ##. #.# .## เอาท์พุท: การหมุนที่เป็นไปได้สองแบบ (กัดที่มุมตะวันออกเฉียงเหนือหรือตะวันตกเฉียงใต้) truthy การกัดที่ถูกต้องบางอย่าง: .. …

2
บอกฉันว่ามีกี่สี่เหลี่ยม?
กำหนดอาร์เรย์ 2 มิติที่ไม่ว่างเปล่าประกอบด้วย0และ1หาจำนวนของช่องสี่เหลี่ยมที่มีมุมทั้ง 4 1มีทั้งหมด สี่เหลี่ยมไม่จำเป็นต้องเป็น "ตั้งตรง" แถวทั้งหมดรับประกันว่ามีความยาวเท่ากัน อนุญาตวิธีการอินพุต / เอาต์พุตที่เหมาะสม Testcases: 0001000 1000000 0000000 0000100 0100000 ผลตอบแทน1นี้ 10101 00000 10100 00000 10001 ผลตอบแทน2นี้ 1111 1111 1111 1111 ผลตอบแทน20นี้ นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์ ช่องโหว่มาตรฐานใช้

2
KOTH: Hit and Sunk
บทนำ สำหรับ KOTH ที่ 5 ของฉันฉันขอเสนอความท้าทายให้กับคุณตามเกมBattleship ที่เป็นที่รู้จักและมีการบิดเล็กน้อย คุณจะสั่งเรือหนึ่งลำซึ่งมีประเภทที่คุณสามารถเลือกได้ระหว่าง 5 คลาส "ประเพณี" แต่คุณจะสามารถดำเนินการหลายอย่างในแต่ละเทิร์นรวมถึงการเคลื่อนย้าย! สิ่งนี้เล่นเป็น FFA (ฟรีสำหรับทุกคน) และเป้าหมายของคุณคือการเป็นเรือรบลำสุดท้าย หลัก เกมดังกล่าวเป็นแบบเลี้ยว ในช่วงเริ่มต้นของเกมคุณจะต้องเลือกคลาสของเรือของคุณ จากนั้นในแต่ละเทิร์นผู้เล่นจะสามารถดำเนินการได้หลายอย่างขึ้นอยู่กับเรือของพวกเขา เกมดังกล่าวเกิดขึ้นบนกริด 2 มิติ (X, Y) ที่ด้านข้างถูกกำหนดด้วยวิธีนี้: X = 30 + numberOfPlayer Y = 30 + numberOfPlayer ตำแหน่งเริ่มต้นของเรือแต่ละลำจะสุ่ม ลำดับการเล่นจะถูกสุ่มในแต่ละเทิร์นและคุณจะไม่ทราบตำแหน่งของคุณใน "คิว" หรือจำนวนผู้เล่น เกมดังกล่าวใช้เวลา100 รอบหรือจนกว่าจะมีเรือรบเพียงลำเดียวที่ยังมีชีวิตอยู่ ทุกครั้งที่คุณโจมตีเรือศัตรูหรือโดนโจมตีคุณจะได้รับหรือเสียคะแนน ผู้เล่นที่มีคะแนนสูงสุดจะเป็นผู้ชนะ รางวัลจะมอบให้กับผู้ชนะ (มูลค่าขึ้นอยู่กับจำนวนผู้เข้าร่วม) คอนโทรลเลอร์จะให้อินพุตกับคุณผ่านอาร์กิวเมนต์ของคำสั่งและโปรแกรมของคุณจะต้องเอาต์พุตผ่าน stdout วากยสัมพันธ์ เทิร์นแรก …

27
คุณจะต้องตีกอล์ฟกี่ครั้ง?
สำหรับความท้าทายนี้คุณต้องสร้างโปรแกรมที่ใช้จำนวนเต็มxและส่งออกแหล่งที่มาxหลายครั้ง กฎระเบียบ นี่คือ codegolf จุดมุ่งหมายคือการตีกอล์ฟโปรแกรมของคุณให้มีจำนวนไบต์น้อยที่สุด หากคุณส่งฟังก์ชั่นฟังก์ชั่นจะต้องใช้xเป็นพารามิเตอร์และส่งคืนหรือพิมพ์โค้ดทั้งหมดของคุณxหลายครั้งไปยัง STDOUT ฟังก์ชั่นร่างกายจะต้องไม่ว่างเปล่า หากคุณส่งแลมบ์ดาคุณไม่จำเป็นต้องกำหนดให้กับตัวแปร มีข้อ จำกัดช่องโหว่มาตรฐาน โปรแกรมที่ว่างเปล่าเป็นสิ่งต้องห้าม โปรแกรมของคุณจะต้องทำงานเมื่อxเป็นจำนวนเต็มทั้งหมดที่มากกว่าหรือเท่ากับ 0 โปรแกรมของคุณอาจไม่อ่านส่วนใด ๆ ของซอร์สโค้ดโดยตรง
12 code-golf  quine 

19
KOTH - โหลด RPS
การประกวดเปิดอย่างถาวร - อัปเดต 10 สิงหาคม 2560 แม้ว่าในวันที่ 5 มิถุนายน 2017 ฉันประกาศผู้ชนะ (ใครจะถูกเก็บไว้เป็นคำตอบที่ดีที่สุด) ฉันจะได้รับบอทใหม่และอัปเดตผลลัพธ์ ผล 5 มิถุนายน ขอแสดงความยินดีกับผู้ใช้1502040 เนื่องจากไม่มีความสัมพันธ์ฉันจะแสดงเฉพาะ% ของการแข่งขันที่ชนะ Statistician2- 95.7% Fitter- 89.1% Nash- 83.9% Weigher- 79.9% ExpectedBayes- 76.4% AntiRepeater- 72.1% Yggdrasil- AntiGreedy64.1 % - 64.1% Reactor- 59.9% NotHungry- 57.3% NashBot- 55.1% Blodsocer- 48.1% BestOfBothWorlds- 48.4% GoodWinning- 40.9 Rockstar% ArtsyChild- …

5
อาจเป็นครั้งที่สี่กับไข้หวัด
ตั้งแต่วันพรุ่งนี้เป็นวันที่ 4 พฤษภาคมนี่คือโพสต์รูปแบบ Star Wars เล็ก ๆ น้อย ๆ ที่จะเตรียมความพร้อมให้กับคุณในเรื่องตลก ๆ ที่กำลังจะมาถึงในวันพรุ่งนี้ backstory ในระหว่างเซสชันของกาแล็กซี่วุฒิสภาสมาชิกวุฒิสภาทั้งหมดกำลังนั่งอยู่ในn*nตาราง การระบาดอย่างฉับพลันของไข้หวัดใหญ่ JarJar (ซึ่งจะคงอยู่ตลอดไปและทำให้ผู้ติดเชื้อพูดเหมือน JarJar Binks) ทำให้วุฒิสมาชิกบางคนติดเชื้อ นี่คือตัวอย่างของ6*6กริดที่Xเป็นสมาชิกวุฒิสภาที่ติดเชื้อรายการที่เกี่ยวข้องคือ[[0,5],[1,4],[2,3],[2,1],[3,3],[3,0],[4,5],[0,5]]: หลังจากนั้นการติดเชื้อเริ่มแพร่กระจายทีละขั้นตอน วุฒิสมาชิกสองคนอยู่ติดกันหากพวกเขาแบ่งปันขอบทั้งหมดในตาราง (เช่นด้านบนด้านล่างขวาซ้าย) ซึ่งหมายความว่าเราไม่รวมเส้นทแยงมุม เราสามารถสรุปวุฒิสมาชิกสามารถติดกับสมาชิกวุฒิสภาอีก 2,3 หรือ 4 คนและเรียกร้องกฎต่อไปนี้สำหรับการติดเชื้อ: วุฒิสมาชิกที่ติดเชื้อนั้นจะคงอยู่ตลอดไป วุฒิสมาชิกติดเชื้อในขั้นตอนเดียวหากเขาอยู่ติดกับสมาชิกวุฒิสภาที่ติดเชื้อ 2 คนขึ้นไปในขั้นตอนก่อนหน้า นี่คือตัวอย่างของกริดก่อนหน้าซึ่งแสดงขั้นตอนแรกของการติดเชื้อ 2 ขั้นตอน: หลังจากขั้นตอนต่อไปวุฒิสภาจะได้รับเชื้อทั้งหมด งานของคุณ รหัสของคุณไม่จำเป็นต้องจัดการอินพุตที่ไม่ถูกต้องเช่นรายการที่มากกว่าn*nหรือพิกัดที่ไม่แตกต่างกัน รหัสของคุณจะใช้เป็นรายการของคู่ของจำนวนเต็ม (หรือตารางไบนารีหรือรูปแบบอื่น ๆ ที่เหมาะกับภาษาของคุณ) และจำนวนเต็มn(ซึ่งอาจไม่จำเป็นหากคุณใช้รูปแบบอื่นนอกเหนือจากรายการ): 8 [[1,2],[1,1],[7,4],[2,7],[4,3]] n เป็นด้านของกริดซึ่งหมายถึงกริดจะเป็นกริด * …
12 code-golf  grid 

5
Venn Diagram Cells
ป.ร. ให้ไว้หลายชุดเช่นs1={2,3,7}, s2={1,2,4,7,8}และs3={4,7}เป็นแผนภาพเวนน์น visualizes แต่ละชุดโดยปิดโค้งและชุดองค์ประกอบซึ่งมีทั้งภายในหรือภายนอกปริมณฑลโค้งที่ขึ้นอยู่กับว่าพวกเขาเป็นส่วนหนึ่งของชุดหรือไม่ เนื่องจากชุดองค์ประกอบทั้งหมดปรากฏเพียงครั้งเดียวใน Vram digram เส้นโค้งที่แสดงถึงชุดแต่ละชุดจึงจำเป็นต้องทับซ้อนกันหากมีองค์ประกอบอยู่ในชุดมากกว่าหนึ่งชุด เราเรียกแต่ละเซลล์ที่ซ้อนทับกันของแผนภาพ Venn คำอธิบายนี้อาจทำให้สับสนเล็กน้อยดังนั้นเรามาดูตัวอย่าง ตัวอย่าง แผนภาพเวนน์ชุดs1, s2และs3อาจมีลักษณะเช่นนี้ เซลล์นี้แผนภาพเวนน์จะ (อ่านจากบนลงล่างซ้ายไปขวา) {1,8}, {2}, {7}, {4}, {3}, และ{}{} ในทางปฏิบัติหนึ่งทั่วไปพบเฉพาะไดอะแกรมเวนน์ของสองหรือสามชุดเนื่องจากการแทนไดอะแกรมเวนน์ของสี่หรือมากกว่าชุดไม่ชัดเจนมาก อย่างไรก็ตามมีอยู่เช่นสำหรับหกชุด: CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1472309 งาน กำหนดชุดของจำนวนเต็มบวกที่ไม่ว่างเปล่าในการนำเสนอที่สมเหตุสมผลใด ๆ ให้ส่งคืนชุดเซลล์ของแผนภาพ Venn ของชุดอินพุต โดยเฉพาะอย่างยิ่งไม่จำเป็นต้องมีการแสดงกราฟิก คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบ คุณอาจส่งคืนชุดว่างได้มากเท่าที่มีเซลล์ว่างเปล่า (เช่นรายการของเซลล์ทั้งหมด) แทนชุดเปล่าเพียงชุดเดียว (เช่นชุดของเซลล์) บางวิธีที่เหมาะสมของการป้อนข้อมูลสำหรับตัวอย่างข้างต้นรวมถึง แต่ไม่ จำกัด{{2,3,7},{1,2,4,7,8},{4,7}}, [[2,3,7],[1,2,4,7,8],[4,7]], หรือ"2,3,7;1,2,4,7,8;4,7" "2 3 7\n1 2 …

10
การสื่อสารที่ง่ายขึ้นหมายถึง…○หนังสือเวียน!
จากสิ่งนี้แต่ฉันถูกขอให้[1] , [2]ทำแบบกราฟิก งาน EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS สร้างการแสดงผลแบบวงกลมของข้อความ ฟอนต์ตัวพิมพ์ใหญ่ใด ๆ ท็อปส์ซูจดหมายจะต้องหันออกจากวงกลม พื้นที่ก่อนหน้าFEWERจะต้องอยู่ที่ด้านล่าง (6 โมง) หรือ (สำหรับจุดบราวนี่) ข้อความของคุณจะต้องหมุน

5
คำนวณชื่อเสียงของผู้ใช้
ท้าทาย ด้วยชื่อของผู้ใช้(ไม่ใช่ ID เรามีความท้าทายนั้นอยู่แล้ว) ส่งออกชื่อเสียงปัจจุบันและรหัสของพวกเขา อินพุต อินพุตจะเป็นสตริงเดียวซึ่งเป็นชื่อผู้ใช้ของผู้ใช้ คุณอาจสันนิษฐานว่ามีผู้ใช้รายนี้อยู่ เอาท์พุต เอาต์พุตจะเป็นจำนวนเต็มสองจำนวนถึง STDOUT หรือ STDERR ซึ่งจะเป็นชื่อเสียงของผู้ใช้และ ID ของผู้ใช้ พวกเขาจะต้องอยู่ในลำดับที่เฉพาะเจาะจงและสามารถส่งออกในรูปแบบที่เหมาะสม ข้อมูลจำเพาะ ชื่อเสียงที่ส่งออกจะต้องไม่เกิน 10 นาที โปรแกรมของคุณต้องไม่เกิดข้อผิดพลาดระหว่างการดำเนินการตามปกติ ใช้ช่องโหว่มาตรฐาน (รวมถึงไม่มีตัวย่อ URL) หากมีชื่อผู้ใช้มากกว่าหนึ่งรายคุณสามารถส่งออกสถิติของผู้ใช้ด้วยชื่อผู้ใช้นั้น นี่คือเหตุผลที่คุณต้องส่งออก ID ชื่อเสียงที่จะส่งออกเป็นชื่อเสียงของผู้ใช้บน PPCG ไม่ใช่คะแนนรวมเครือข่าย เว็บไซต์กองแลกเปลี่ยน API สามารถพบได้ที่นี่ คุณสามารถอ่านเอกสารได้จากที่นั่น

16
'A' เป็นÄ converter
ขณะนี้ฉันกำลังสแกนเอกสารที่เขียนด้วยลายมือและแปลงเป็น.txtไฟล์ เนื่องจากฉันมีลายมือที่แย่มากตัวแปลง.jpg-> จึง.txtแปลง umlauts ของฉันให้เป็นตัวอักษร"ปกติ" ที่ห่อหุ้มด้วย' งาน เขียนโปรแกรมหรือฟังก์ชั่นที่: จะได้รับสตริง คุณสามารถเลือกเพจ I / O ใดก็ได้ตราบใดที่ AEIOUaeiouÄËÏÖÜäëïöü'จะสนับสนุนตัวละคร ไม่อนุญาตให้ใช้การรวมตัวกำกับเสียง Codepages อินพุตและเอาต์พุตเหมือนกัน อินพุตจะ (ข้างช่องว่าง) มีอักขระที่พิมพ์ได้จากเพจรหัสของคุณเท่านั้น จะมีเพียงวิธีเดียวเท่านั้นดังนั้นสิ่งต่าง ๆ'a'e'จะไม่ปรากฏขึ้น แปลงอักขระทั้งหมดในชุดต่อไปนี้AEIOUaeiouเป็นÄËÏÖÜäëïöü หากและหากมีการล้อมรอบด้วย'อักขระ: ตัวอย่าง :'a''e' -> äë หากสตริงจากเป็นตัวอักษรเดียว ตัวอย่างเช่น'AE'จะไม่เปลี่ยนแปลงเลยส่งออกตามที่เป็น หากอักขระจากไม่ใช่อักขระจากAEIOUaeiouอักขระนั้นจะไม่เปลี่ยนแปลง หมายเหตุ: จากตัวอักษร / จากสตริง'เป็นหนึ่งในระหว่าง Testcases Input Output <empty line> 'A'sthetik Ästhetik Meinung ist wichtig! Meinung ist wichtig! Ich …
12 code-golf  string 

18
คัดค้านสตริง
คำเตือน: นี่ไม่ใช่ความท้าทายของฉัน แต่ThisGuyกล่าวว่าฉันตกลงที่จะโพสต์ บางครั้งผมต้องการที่จะทำให้คำว่าเป็นมันตรงข้ามเช่นไปhappiness unhappinessน่าเสียดายเมื่อสิ่งนี้เกิดขึ้นบางครั้งสมองของฉันก็จะว่างเปล่า แล้ววันหนึ่งหลังจากเกิดเหตุการณ์นี้อีกฉันคิดกับตัวเองว่า "นี่คือโปรแกรมที่มีไว้สำหรับ!" เนื่องจากภาษาอังกฤษมีข้อยกเว้นมากมายฉันได้สร้างรายการที่มีคำนำหน้าสำหรับจดหมายเริ่มต้น q or h -> dis- (honest -> dishonest) l -> il- (legal -> illegal) m or p -> im- (mature -> immature) r -> ir- (responsible -> irresponsible) everything else -> un- (worthy -> unworthy) งาน กำหนดอินพุตเป็นสตริงทำให้สตริงเป็นลบและส่งออกผลลัพธ์ คุณสามารถสันนิษฐานได้ว่าอินพุตทั้งหมดที่ให้มาจะตรงกับกฎข้างต้น การส่งอาจเป็นโปรแกรมหรือฟังก์ชั่นไม่ใช่ตัวอย่าง อินพุต สตริงเดี่ยวนำมาเป็นพารามิเตอร์หรือจาก STDIN …
12 code-golf  string 

3
มาเล่นซ่อนหากันเถอะ!
ผู้ใช้จะซ่อนและคอมพิวเตอร์จะพยายามค้นหา ก่อนอื่นโปรแกรมจะรับอินพุตสำหรับขนาดของกริด เช่น 5x5, 10x10, 15x15 เป็นต้นตารางจะไม่ใช่ตารางที่สมบูรณ์แบบเสมอไป ตารางเป็นเหมือนกระดานหมากรุก: _______________________________ | | | | | | | A1 | | | | | A |_____|_____|_____|_____|_____| | | | | | | | | B2 | | | | B |_____|_____|_____|_____|_____| | | | | | | | | | C3 | …

17
มาสายดีกว่าไม่มาเลย!
โปรแกรม / ฟังก์ชั่นของคุณ ฯลฯ จะใช้เวลา 2 อินพุต ครั้งแรกจะเป็นรายชื่อของผู้ที่มาปาร์ตี้ของฉันและเมื่อ ตัวอย่าง: Kevin 13:02 Ruby 5 Sam 3 Lisa 6 Bob 12 นั่นหมายความว่าอย่างไร? หมายความว่าเควินไปงานปาร์ตี้ของฉันก่อน (เวลา 13:02 น. 24 ชั่วโมง) จากนั้นทับทิม 5 นาทีต่อมาจากนั้นแซม 3 นาทีต่อมาจากนั้นลิซ่า 6 นาทีต่อมาและอีก 6 นาทีต่อมาบ๊อบ อินพุตที่สองจะเป็นเมื่อปาร์ตี้ของฉันเริ่มต้น ตัวอย่าง: 13:15 (เวลา 24 ชั่วโมง) ผลลัพธ์ของคุณจะต้องเป็นรายชื่อของคนที่มาสาย (ทุกคนตรงเวลาเป็นเรื่องปกติ) ตัวอย่างการคำนวณ (ตัวอย่างเช่นอย่าส่งออกสิ่งเหล่านี้) Kevin 13:02 Ruby 13:07 Sam …
12 code-golf  date 

6
โค่นล้มทราย
(มีคำถามที่เกี่ยวข้องเกี่ยวกับทรายแบบไม่สิ้นสุดและการค้นหาองค์ประกอบตัวตนของทราย ) ให้เมทริกซ์ของจำนวนเต็มไม่เป็นลบคืนเมทริกซ์ที่มีขนาดเท่ากัน แต่ล้มลง : ถ้าเมทริกซ์ไม่มีค่าใด ๆ ที่มากกว่า 4 ให้คืนค่า "เซลล์" ทุกอันที่มีขนาดใหญ่กว่า 3 จะลดลง 4 และเซลล์ที่อยู่ใกล้เคียงโดยตรง (ด้านบนด้านล่างซ้ายและขวา) จะเพิ่มขึ้นหากมีอยู่ GOTO 1 ตัวอย่าง: 0 1 0 0 2 0 2 4 0 -> 3 0 1 0 0 3 0 1 3 1 2 3 2 3 4 2 5 1 4 …

10
เคล็ดลับสำหรับการเล่นกอล์ฟในRöda
Rödaเป็นภาษาสคริปต์กระแสตามที่สร้างขึ้นโดยfergusq คุณมีเคล็ดลับทั่วไปอะไรสำหรับการเล่นกอล์ฟในRöda ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟและอย่างน้อยก็ค่อนข้างเฉพาะเจาะจงกับRöda (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
12 code-golf  tips 

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