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

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

4
ลำดับมายากลของความยาว n
ลำดับเวทย์มนตร์เป็นลำดับของจำนวนเต็มที่ไม่เป็นลบx[0..n-1]เช่นว่ามีx[i]อินสแตนซ์ของi ตัวอย่างเช่น 6,2,1,0,0,0,1,0,0,0 เป็นลำดับเวทย์มนตร์เนื่องจากมี 6 0, 2 1's และอื่น ๆ เขียนฟังก์ชั่นซึ่งเมื่อได้รับ n เอาต์พุตเอาท์พุตมายากลทั้งหมดที่มีความยาว n โปรแกรมที่สามารถสร้างเอาต์พุตที่ถูกต้องสำหรับค่าสูงสุดของ n ภายใน 10 วินาที (ยินดีต้อนรับทุกโปรแกรม) ตัวอย่างเช่นโปรแกรมของอลิซสามารถจัดการได้มากถึง n = 15 ภายใน 10 วินาทีในขณะที่บ๊อบสามารถจัดการได้มากถึง n = 20 ภายในเวลาเดียวกัน บ๊อบชนะ แพลตฟอร์ม: Linux 2.7GHz @ 4 CPUs

1
ปรับขนาดข้อความแรสเตอร์และทำให้มันดูไม่ใช่ตัวอักษร
นี่คือภาพหน้าจอของข้อความบางส่วนที่พิมพ์ในโปรแกรมแก้ไขข้อความ: นี่คือข้อความเดียวกันที่มีขนาดใหญ่กว่า แจ้งให้ทราบว่าที่มองเห็นaliasingอยู่ในตัวอักษรที่มีจังหวะในแนวทแยงที่โดดเด่นเหมือนและx zปัญหานี้เป็นสาเหตุสำคัญที่ทำให้ฟอนต์แรสเตอร์สูญเสียความนิยมในรูปแบบ "ปรับขนาดได้" เช่น TrueType แต่นี่อาจไม่ใช่ปัญหาที่เกิดจากการใช้ฟอนต์แรสเตอร์ แต่โดยทั่วไปแล้ววิธีการปรับสเกลของมันจะถูกนำไปใช้ นี่คือการแสดงผลทางเลือกที่ใช้ง่ายแก้ไข bilinearรวมกับthresholding นี่คือเรียบเนียน แต่ไม่เหมาะ ลายเส้นทแยงมุมยังคงเป็นหลุมเป็นบ่อและตัวอักษรที่มีลักษณะโค้งcและoยังเป็นรูปหลายเหลี่ยม โดยเฉพาะอย่างยิ่งในขนาดใหญ่ ดังนั้นจะมีวิธีที่ดีกว่า งาน เขียนโปรแกรมที่ใช้อาร์กิวเมนต์บรรทัดคำสั่งสามข้อ resize INPUT_FILE OUTPUT_FILE SCALE_FACTOR ที่ไหน INPUT_FILE เป็นชื่อของไฟล์อินพุตซึ่งถือว่าเป็นไฟล์ภาพที่มีข้อความสีดำบนพื้นหลังสีขาว คุณสามารถใช้รูปแบบภาพแรสเตอร์กระแสหลักใดก็ได้(PNG, BMP และอื่น ๆ ) ที่สะดวก OUTPUT_FILE เป็นชื่อของไฟล์ที่ส่งออก มันอาจเป็นรูปแบบภาพแรสเตอร์หรือเวกเตอร์ คุณอาจแนะนำสีถ้าคุณทำการเรนเดอร์พิกเซลย่อยแบบ ClearType บางอย่าง SCALE_FACTOR เป็นค่าจุดลอยตัวที่เป็นบวกซึ่งระบุจำนวนของภาพที่อาจถูกปรับขนาด เมื่อกำหนดไฟล์อินพุตx × y px และตัวประกอบสเกลsเอาต์พุตจะมีขนาดเป็นsx × sy px (ปัดเศษเป็นจำนวนเต็ม) คุณสามารถใช้ไลบรารี่การประมวลผลภาพโอเพนซอร์สที่สามได้ นอกจากโค้ดของคุณแล้วให้รวมเอาตัวอย่างผลลัพธ์ของโปรแกรมของคุณที่สเกลแฟคเตอร์ที่ …

2
เรากำลังควบคุมไม่ได้หมอ!
หมอในความพยายามที่จะหลบหนีจากกองกำลังดาได้ตัดสินใจที่จะส่งพวกเขาในการหมุนโดยการเดินทางในกระเป๋าหลายช่องว่างในการเคลื่อนไหวเกลียว ขึ้นอยู่กับลักษณะของพื้นที่ว่างเวลาหมอต้องเข้าสู่ควานหาควบคุมความสูงและความกว้างของส่วนของพื้นที่และจุดเข้าของเขาที่จะเริ่มเกลียว ส่วนของพื้นที่สามารถมองเห็นเป็นกริดh x w ที่เต็มไปด้วยจำนวนเต็มตามลำดับจากซ้ายไปขวาบนลงล่างเริ่มต้นด้วย 1 ตำแหน่งเริ่มต้นให้เป็นRCสำหรับแถวและคอลัมน์ ... จากนี้ซอฟแวร์ควานหาของความต้องการที่จะคายออกรายการสั่งซื้อของจำนวนเต็มได้โดยการลอยออกไปในทิศทางทวนเข็มนาฬิกาจากแถวRคอลัมน์คเริ่มต้นขึ้น ... งานของคุณในฐานะเพื่อนร่วมงานของหมอคือการเขียนโปรแกรมควานหาเพื่อให้ได้ตัวเลขสี่ตัวในรูปแบบheight width row columnและกำหนดให้ภาคส่วนของพื้นที่ที่ควานหาจำเป็นต้องเดินทางเพื่อให้ตรงกับการเคลื่อนไหวหมุนวนที่อธิบายไว้ด้านล่าง ... อินพุต 1 5 5 3 3 (ตาราง 5 x 5 เริ่มต้นที่ตำแหน่ง 3,3) เอาท์พุท 1 13 8 7 12 17 18 19 14 9 4 3 2 1 6 11 16 21 22 23 24 …
11 code-golf 

12
CodeGolf - Barry นักพัฒนาที่ยุ่งเหยิง # 2
นี่คือการติดตามของ CodeGolf - ละเว้นเสียง # 1 ปัญหาเดียวที่ Barry ทำสิ่งเลวร้ายยิ่งสำหรับเรา ให้ดูว่าเกิดอะไรขึ้น ปรับปรุง ฉันได้เพิ่มโค้ดเพื่อสร้างอินพุตแบบสุ่มและเอาต์พุตที่คาดไว้เพราะฉันอธิบายความต้องการของฉันไม่ดีและฉันเดาว่าบางครั้งคำอาจทำให้เข้าใจผิดมากกว่ารหัส (ไม่ใช่หรือเปล่า?) ลักษณะ วิธีการในอีกใบ้คอร์ป API 's ช่วยให้เราราคาปัจจุบันผู้ให้บริการจะให้เราสำหรับรายการราคาที่ดีที่สุดที่เราจะทำยอดขายสูงสุดและมีแนวโน้มของราคาที่เมื่อเทียบกับราคาก่อนหน้านี้เป็นสตริงหรือUP DOWNเราจำเป็นต้องตัดสินใจว่าควรลบรายการออกจากร้านค้าหรือรอ อินพุต 80,90,UP 150,100,DOWN 65,65,UP 1618,1618,DOWN 840,1200,DOWN 54,12,UP 30,1,UP สำหรับการสาธิตตัวอย่างอินพุตขนาดใหญ่ที่มีเอาต์พุตที่คาดหวังให้ใส่โค้ดต่อไปนี้ (js) ในคอนโซลเบราว์เซอร์ของคุณและควรเอาต์พุตอินพุตสุ่มที่ถูกต้องสำหรับการทดสอบ var output = ""; var result = ""; for(i=10;i--;){ var currentPrice = Math.floor(Math.random() * 10000) + 1; var optimalPrice = …

6
ผลิตภัณฑ์ที่ตัดแบ่งสูงสุด
เราจะได้รับรายการจำนวนเต็ม p1, ... , pk (ไม่จำเป็นต้องชัดเจน) โดยที่แต่ละค่ามีค่าระหว่าง 1 ถึง 9 การใช้แต่ละ p1, ... , pk เพียงครั้งเดียวเราสามารถสร้างการเรียงตัวของตัวเลขเพื่อให้ได้รายการตัวเลขใหม่ จากนั้นเราจะส่งออกผลิตภัณฑ์ของรายการใหม่นี้ เป้าหมายคือเพื่อเพิ่มผลิตภัณฑ์นี้โดยการเลือกการต่อข้อมูลที่ดีที่สุดของตัวเลข ตัวอย่างเช่นเราได้รับรายการ: 2 3 2 (คั่นด้วยช่องว่าง) เราสามารถสร้างการเรียงต่อกันดังต่อไปนี้: 2 3 2(ผลิตภัณฑ์ของการต่อข้อมูลเหล่านี้คือ12) 23 2(ผลิตภัณฑ์คือ46) 32 2(ผลิตภัณฑ์คือ64) 22 3(ผลิตภัณฑ์คือ66) เนื่องจากผลิตภัณฑ์ที่ใหญ่ที่สุดที่เราสามารถทำการต่อกันได้คือ 66 เราจึงส่งออก กฎ: ต้องมีการคูณอย่างน้อยหนึ่งรายการ (เช่นคุณไม่สามารถต่อตัวเลขและเอาท์พุททั้งหมดเข้าด้วยกันได้) คุณไม่สามารถใช้โอเปอเรเตอร์อื่นนอกเหนือจากการคูณหรือใส่วงเล็บเป็นต้น สมมติว่ารายการจำนวนเต็มที่กำหนดถูกคั่นด้วยช่องว่างและจำนวนเต็มทั้งหมดมีค่าระหว่าง 1 ถึง 9 รหัสที่สั้นที่สุด (เป็นไบต์) ชนะ! กรณีทดสอบ: อินพุต: 1 …

2
Y-Wing Strategy สำหรับ Sudoku
ฉันเพิ่งได้แอป Sudoku ใหม่ที่ผลิตยากของ Sudoku ซึ่งไม่สามารถแก้ไขได้ด้วยกลยุทธ์มาตรฐาน ดังนั้นฉันต้องเรียนรู้ใหม่ ๆ หนึ่งในกลยุทธ์เหล่านี้เป็นY-Wing กลยุทธ์ มันถูกจัดอันดับภายใต้ "กลยุทธ์ที่ยากลำบาก" แต่จริงๆแล้วมันไม่ได้ยากขนาดนั้น ตัวอย่าง สำหรับกลยุทธ์นี้มีเพียง 4 เซลล์เท่านั้นที่มีความสำคัญ ดังนั้นฉันจึงไม่สนใจเซลล์อื่นทั้งหมดในภาพ เราดูผู้สมัครทั้งหมดสำหรับแต่ละเซลล์ ในตัวอย่างต่อไปนี้เรามีมือถือที่มีผู้สมัครที่3 7(นั่นหมายความว่าเราได้ปฏิเสธไปแล้วผู้สมัคร1 2 4 5 6 8 9เช่นเพราะมี1ในแถวเดียวกัน2ในเดียวกันกล่อง 3x3, ... ), มือถือที่มีผู้สมัคร6 7, เซลล์ที่มีตัวเลือก3 6และเซลล์ที่มีตัว2 6เลือก กลยุทธ์ Y-Wing จะแนะนำว่า6สามารถลบออกจากผู้สมัครของเซลล์อย่างจริงจังปล่อยให้เป็นเพียง2ผู้สมัครซึ่งคุณสามารถกรอกดังนั้นเราจึงพบจำนวนที่ถูกต้องและเป็นหนึ่งในการแก้ซูโดกุเต็มขั้น ทำไมถึง6ถูกลบ? คำอธิบาย ขอให้เราสมมติว่า6จำนวนที่ถูกต้องสำหรับเซลล์อย่างจริงจัง ขณะนี้มี6คอลัมน์อยู่ในคอลัมน์นี้ดังนั้นเราจึงสามารถลบออก6จากผู้สมัครของเซลล์ด้านบนขวาเหลือเพียง a 7ซึ่งเราสามารถกรอกได้สิ่งเดียวกันนี้เกิดขึ้นกับเซลล์ด้านซ้าย เราสามารถลบและกรอกข้อมูลใน6 3ตอนนี้ถ้าเราดูที่เซลล์ด้านบนซ้ายเราจะได้รับความขัดแย้ง เพราะตอนนี้มีอยู่แล้ว7ในแถวเดียวกันและ3ในคอลัมน์เดียวกันเพื่อให้เราสามารถลบ7และ3ของผู้สมัครออกจากผู้สมัครที่ไม่ทั้งหมด ซึ่งเห็นได้ชัดว่าเป็นไปไม่ได้ ดังนั้น 6 ไม่สามารถเป็นจำนวนที่ถูกต้องของเซลล์อย่างจริงจัง …
11 code-golf  sudoku 

3
เมทริกซ์คุณสมบัติ X กลับมาอีกครั้ง (หรือ Joy of X)
ความท้าทายนี้เป็นความท้าทายส่วนหนึ่งของอัลกอริทึมส่วนหนึ่งเป็นความท้าทายด้านการปรับให้เหมาะสมส่วนหนึ่งเป็นความท้าทายด้านโค้ดที่เร็วที่สุด AT เมทริกซ์ที่ระบุไว้อย่างเต็มที่โดยแถวแรกของมันและคอลัมน์แรกr cแต่ละองค์ประกอบที่เหลือของเมทริกซ์เป็นเพียงสำเนาขององค์ประกอบที่เป็นเส้นทแยงมุมขึ้นและซ้าย M[i,j] = M[i-1,j-1]กล่าวคือ เราจะอนุญาตให้เมทริกซ์ T ที่ไม่ได้เป็นสแควร์ อย่างไรก็ตามเราคิดเสมอว่าจำนวนแถวไม่เกินจำนวนคอลัมน์ ตัวอย่างเช่นพิจารณาเมทริกซ์ 3 คูณ 5 ต่อไปนี้ 10111 11011 11101 เราบอกว่าเมทริกซ์มีคุณสมบัติ X ถ้ามันมีคอลัมน์ที่ไม่ว่างสองชุดที่มีดัชนีไม่เหมือนกันซึ่งมีผลรวม (เวกเตอร์) เหมือนกัน ผลรวมเวกเตอร์ของคอลัมน์อย่างน้อยหนึ่งคอลัมน์เป็นเพียงการสรุปองค์ประกอบที่ชาญฉลาดของคอลัมน์ นั่นคือผลรวมของสองคอลัมน์ขึ้นไปที่มีxองค์ประกอบแต่ละรายการเป็นอีกคอลัมน์ที่มีxองค์ประกอบ ผลรวมของหนึ่งคอลัมน์เป็นคอลัมน์เล็ก ๆ น้อย ๆ เมทริกซ์ด้านบนมีคุณสมบัติ X เล็กน้อยเนื่องจากคอลัมน์แรกและคอลัมน์สุดท้ายเหมือนกัน เมทริกซ์เอกลักษณ์ไม่เคยมีคุณสมบัติ X หากเราเพิ่งลบคอลัมน์สุดท้ายของเมทริกซ์ด้านบนเราจะได้ตัวอย่างซึ่งไม่มีคุณสมบัติ X และจะให้คะแนน 4/3 1011 1101 1110 งาน งานคือการเขียนรหัสเพื่อค้นหาเมทริกซ์ T คะแนนสูงสุดกับรายการไบนารีและที่ ไม่มีคุณสมบัติ X เพื่อความชัดเจนเมทริกซ์ที่มีรายการไบนารีมีคุณสมบัติที่แต่ละรายการของรายการนั้นเป็น 0 …

4
การเข้ารหัส URL ใน brainfuck
แรงบันดาลใจจากคำถามนี้เป้าหมายของคุณในวันนี้คือการเข้ารหัส URL ใน brainfuck เบราว์เซอร์ของฉันถูกแฮ็ก! แถบตำแหน่งถูกเปลี่ยนเป็นล่ามสมอง ฉันต้องการโปรแกรมที่เปลี่ยน URL ให้เป็นโปรแกรม brainfuck คอมพิวเตอร์ของฉันช้ามากดังนั้นหากโปรแกรม brainfuck มีขนาดเล็กจะดีกว่า โอ้และฉันมีเพียงแท็บการทำงานเดียวที่เปิดทิ้งไว้ทวิตเตอร์ของฉัน ดังนั้นคุณสามารถส่งโปรแกรมเป็นทวีตให้ฉันเท่านั้น เขียนโปรแกรมที่เหมาะกับทวีต (140 ตัวอักษร) ในภาษาใด ๆ ที่ใช้สตริงเป็นอินพุตและเอาต์พุตโปรแกรม brainfuck โปรแกรม brainfuck นี้จะทำงานโดยไม่มีการป้อนข้อมูลและจะสร้างผลลัพธ์ ผลลัพธ์นี้จะถูกแทรกลงในแถบตำแหน่งที่ตั้งของ Google Chrome และดำเนินการ หากพฤติกรรมของ Google Chrome เหมือนกันกับพฤติกรรมที่คุณจะได้รับจากการป้อนสตริงการป้อนจาก # 1 แสดงว่าโซลูชันนั้นถูกต้อง การเปลี่ยนเส้นทางโดยตัวย่อ URL ถือว่าเป็นพฤติกรรมที่แตกต่างกันอย่างน้อยต้องอยู่บนโดเมนเดียวกัน คุณอาจสันนิษฐานว่านักล่าสมองมีจำนวนเต็มที่มีความแม่นยำอย่างไม่ จำกัด ในแต่ละเซลล์และเซลล์ไม่ จำกัด จำนวน คะแนนของคุณถูกกำหนดโดยผลรวมของความยาวของโปรแกรม brainfuck ที่สร้างขึ้นเพื่อเข้ารหัสชุด URL ต่อไปนี้: https://www.google.com/ …

4
เสียงของคำ
ผู้คนเขียนหลายสิ่งหลายอย่างเพื่อให้มองเห็นสิ่งหนึ่ง ตอนนี้ฉันขอเสนอความสามารถในการแปลจดหมายเป็นเพลง! C3-C8งานของคุณในการเขียนโปรแกรมที่ใช้ไฟล์ข้อความและเอาท์พุทไฟล์เสียงที่มีตัวอักษรแต่ละตัวแปลงที่จะต้องทราบที่เฉพาะเจาะจงจาก ข้อสงวนสิทธิ์ - ฉันไม่คาดหวังว่าเพลงจะฟังดูดี แต่ฉันหวังว่าจะประหลาดใจ ข้อมูลจำเพาะ คุณใช้ชื่อของไฟล์เป็นสตริงและBPM (ครั้งต่อนาที) เป็น int คุณทำให้ตัวพิมพ์ใหญ่Aเป็นบันทึกย่อC3 และขึ้นไปครึ่งขั้นสำหรับตัวละครทุกตัวหลังจากตามลำดับนี้: ABCDEFGHIJKLMNOPQRSTUVWXYZ ()-,;.'"abcdefghijklmnopqrstuvwxyz ใช่ไม่ใช่ว่าทุกตัวละครจะใช้ตั้งแต่นั้นจะขยายอ็อกเทฟมากเกินไป คุณแปลอักขระทุกตัวในไฟล์ด้วยวิธีนี้ วางบันทึกย่อไว้ด้วยกันที่ BPM ที่กำหนดเป็นบันทึกย่อรายไตรมาส บันทึกเป็นไฟล์เสียง (ฉันคาดเดา midi จะเป็นวิธีที่ง่ายที่สุด แต่ก็ไม่เป็นไร) หรือเล่น รูปแบบการป้อนข้อมูลใด ๆ ที่เป็นปกติ ไม่มีช่องโหว่มาตรฐาน นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ! โบนัส อนุญาตให้transposingของการส่งออก - 50 ไบต์ อนุญาตให้ซ้อนทับแทร็กหลายแทร็กโดยถ่ายหลายไฟล์ - 75 ไบต์ เข้าร่วมจดหมายที่ต่อเนื่องกันในบันทึกย่ออีกหนึ่ง - 50 ไบต์ แก้ไข:ว้าวเรามีคะแนนติดลบ ฉันจะประกาศผู้ชนะในวันเสาร์
11 code-golf  music  audio 

8
สร้างโปรแกรม Brainf_ck ที่ส่งออกสตริงตามความยาวที่กำหนด
เพื่อนของคุณกำลังพยายามบุกเข้าไปในหลุมฝังศพที่มีระบบล็อคที่แปลกประหลาด: มันต้องมีการเคาะที่อ่อนโยนจำนวนหนึ่งในบางจุด เพื่อนของคุณค้นพบหมายเลข (ซึ่งอยู่ในช่วงที่ 1 ... 99999) และมีแกดเจ็ตที่ทำให้เกิดการเคาะที่ต้องการ อย่างไรก็ตามแกดเจ็ตเป็นล่าม Brainfuck! ดังนั้นเพื่อนของคุณต้องป้อนโปรแกรม Brainfuck ซึ่งควรจะสั้นที่สุดเท่าที่จะเป็นไปได้ (I / O ของอุปกรณ์ช้า) งานของคุณคือช่วยเขา! เขียนโปรแกรมหรือรูทีนย่อยในภาษาใด ๆ ที่ยอมรับว่าเป็นตัวเลขป้อนเข้าNและส่งออกโปรแกรม Brainfuck ซึ่งจะไม่มีอินพุตและเอาต์พุตสตริงของอักขระ ASCII ที่พิมพ์ได้ (ยกเว้นอักขระเว้นวรรค - รหัสในช่วง 33 ... 126) Nที่มีความยาว ตัวอย่าง: สำหรับอินพุต10เอาต์พุตอาจเป็น +++++++++++++++++++++++++++++++++.......... (แต่ฉันแน่ใจว่ามันจะสั้นลง!) คะแนนของคุณจะเป็นผลรวมของความยาวของผลลัพธ์ของคุณสำหรับค่าต่อไปนี้ของN(พวกเขาเป็นตัวเลขสุ่ม): 55 68 15 28 841 838 522 846 4898 9004 9363 3810 13230 …

1
การสร้าง Greco-Latin Square
พิจารณากริดขององค์ประกอบที่ไม่ซ้ำกันNx Nแต่ละองค์ประกอบมีตัวอักษร (จาก A ถึงNตัวอักษรที่รวม, รวม) และตัวเลข (จาก 1 ถึงNรวม) ดังนั้นคู่ / ตัวเลขแต่ละตัวจะอยู่ในกริดเพียงครั้งเดียว งานของคุณคือการจัดตารางเช่น: แต่ละแถวคอลัมน์และแนวทแยง (รวมถึงการตัด) ประกอบด้วยตัวอักษรและตัวเลขแต่ละตัวอย่างแน่นอน โดยการพันผมหมายถึง * * * # * * * # * * * # * * * # * * * * * * * * # เป็นแนวทแยงมุมพร้อมกับเส้นทแยงมุมที่คล้ายกันทั้งหมดซึ่งกระทบกับขอบ 5x5ตารางตัวอย่างคือ: A1 B2 C3 D4 E5 …

3
ล้อมรอบผลที่ตามมา
บทนำ ในความท้าทายนี้งานของคุณคือการหาลำดับทั่วไปของสตริง การเรียงลำดับไม่จำเป็นต้องต่อเนื่องกันและพวกเขายังสามารถ "ล้อมรอบ" สตริงได้ผ่านจุดสิ้นสุดและเริ่มต้นอีกครั้งจากจุดเริ่มต้น คุณจะต้องลดจำนวนการตัดให้เหลือน้อยที่สุด เป็นทางการมากขึ้นให้uและvเป็นสองสายใด ๆ และk ≥ 0จำนวนเต็ม เราบอกว่าuเป็นksubsequence -wrappingของvถ้ามีดัชนีที่แตกต่างกันเช่นว่าและที่มากที่สุดของดัชนีความพึงพอใจ ซึ่งหมายความว่าสามารถพบได้ในโดยไปจากซ้ายไปขวาเลือกบางส่วนของตัวละครเกี่ยวกับวิธีการและการตัดรอบที่มากที่สุดเท่า (เท่าที่มากที่สุดทำเรตติ้งทั่ว) โปรดทราบว่าไม่มีตัวเลือกใดที่สามารถเลือกได้มากกว่าหนึ่งครั้งแม้กระทั่งหลังการล้อมรอบและการเรียงลำดับการห่อหุ้มนั้นเป็นชุดประกอบสามัญที่เราทุกคนคุ้นเคยi1, i2, ..., ilen(u)u == v[i1] v[i2] ... v[ilen(u)]kijij > ij+1uvkk+1v0 งาน ปัจจัยการผลิตของคุณมีสองสายที่เป็นตัวเลขไม่ว่างเปล่าuและvและส่งออกของคุณเป็นที่เล็กที่สุดจำนวนเต็มkดังกล่าวว่าuเป็นksubsequence -wrapping vของ หากไม่มีการดังกล่าวมีอยู่แล้วการส่งออกจะเป็นk-1 ตัวอย่าง พิจารณาปัจจัยการผลิตและu := xyzyxzzxyx v := yxzzazzyxxxyzถ้าเราเริ่มมองหาตัวละครของuในvในแฟชั่นโลภเราจะห่อรอบ 3 ครั้ง: yxzzazzyxxxyz >─x─────y────z┐ ┌─────────────┘ └y───────x────┐ ┌─────────────┘ └──zz─────x─y─┐ ┌─────────────┘ └──────────x──> ดังนั้นผลลัพธ์ที่ถูกต้องคือสูงสุด 3 …

6
ส่ง Pi ... อย่างแม่นยำ
ต่อจากการประมาณค่า Monte Carlo ของ Piความท้าทายนี้คือการสร้างรหัสที่สั้นที่สุดสำหรับค่าคงที่ Pi ยกเว้นที่นี่รหัสของคุณจะต้องส่งออกตัวเลข pi ติดต่อกันตลอด นี่คือรหัสกอล์ฟดังนั้นการส่งที่สั้นที่สุด (เป็นไบต์) ชนะยกเว้นว่าจะต้องส่งออก 10,000 หลักแรกในเวลาน้อยกว่า 10 วินาทีบนพีซีที่เหมาะสมและจะต้องไม่สิ้นสุด คุณไม่สามารถใช้ฟังก์ชั่น Pi หรือ Trig ในตัวได้ ลบขีด จำกัด ฮาร์ดในขนาดรหัส
11 code-golf  math  pi 

10
ตำรวจและโจร
ทุกคนต้องการนำเกมแห่งชีวิตของ Conway มาใช้ เบื่อ! มาทำตำรวจและโจรกันเถอะ! คุณจะมีสองทีม: ตำรวจและโจร แต่ละทีมมีสมาชิก 5 คนโดย 50 คนละคน โปรแกรมจะวนซ้ำอย่างต่อเนื่อง การวนซ้ำแต่ละครั้งจะเกิดสิ่งต่อไปนี้: สำหรับแต่ละทีมให้พิมพ์ตัวอักษรตัวแรก ( CสำหรับตำรวจRสำหรับโจร) ช่องว่างรายการที่คั่นด้วยช่องว่างของ HP ของสมาชิกและขึ้นบรรทัดใหม่ นี่คือสถานะของทีม หลังจากเสร็จสิ้นให้พิมพ์บรรทัดใหม่ขึ้นมาใหม่ ตัวอย่างเช่นนี่คือลักษณะของรอบแรก: C 50 50 50 50 50 R 50 50 50 50 50 เลือกหมายเลขสุ่มตั้งแต่ 1 ถึง 10 (รวมทั้ง 1 และ 10) Nเราจะโทรไปยังหมายเลข ถ้าNเป็นเช่นนั้นพวกโจรก็จะแพ้ในรอบนี้ ถ้าแปลกตำรวจสูญเสีย เลือกสมาชิกสุ่มของทีมแพ้ที่ HP มากกว่า 0 …
11 code-golf 

1
สร้างลำดับดาเวนพอร์ท - Schinzel
พื้นหลัง ลำดับ Davenport-Schinzelมีสองตัวแปรจำนวนเต็มบวกและd nเราจะแสดงว่าชุดของทุกลำดับ Davenport-Schinzel DS(d,n)สำหรับพารามิเตอร์ที่กำหนดโดย พิจารณาลำดับทั้งหมดของตัวเลขธรรมชาติ1เพื่อnรวมซึ่งตอบสนอง: ไม่มีตัวเลขสองตัวติดต่อกันในลำดับที่เหมือนกัน ไม่มีความยาวที่มากกว่ากัน (ไม่จำเป็นต้องต่อเนื่องกัน) dซึ่งสลับไปมาระหว่างตัวเลขสองจำนวนที่แตกต่างกัน อนุญาตLแสดงความยาวสูงสุดของลำดับดังกล่าว (ที่กำหนดdและn) จากนั้นเป็นชุดของลำดับดังกล่าวทั้งหมดที่มีความยาวDS(d,n)L ตัวอย่างบางส่วนอาจช่วยได้ อนุญาตd = 4, n = 3. ลำดับที่ยาวที่สุดที่เป็นไปได้ที่มีข้อ จำกัด L = 8เหล่านี้มี ดังนั้นต่อไปนี้เป็นสมาชิกของDS(4,3): [1, 2, 1, 3, 1, 3, 2, 3] ไม่มีตัวเลขที่เหมือนกันติดต่อกันและมีการเรียงลำดับความยาวสลับกัน4แต่ไม่มีอีกต่อไป: 1 2 1 2 1 2 1 2 1 3 1 3 1 3 …

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