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

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

5
ข้ามตัวอักษร
ข้ามตัวอักษร ในการท้าทายนี้คุณมีปัญหาในการจดจำตัวอักษรของตัวอักษร ในการหลีกเลี่ยงสิ่งนี้คุณต้องขึ้นและลงอักษรจนกว่าจะถึงตัวอักษร เนื่องจากคุณต้องการให้รหัสของคุณเป็นแบบพกพาคุณจะเขียนด้วยตัวอักษรบล็อก คุณมีบล็อกจำนวน จำกัด เนื่องจากส่วนใหญ่ถูกขโมยดังนั้นคุณต้องแน่ใจว่ารหัสของคุณสั้นที่สุด ตัวอย่าง คู่อินพุต / เอาต์พุตถูกคั่นด้วยบรรทัดว่าง: Ac ABc Ad ABcd fA fedCBA adB abcdcB Hello, World! HGfefghijkllmno, WVUTSrqpopqrqponmlkjihgfed! ท้าทาย เป้าหมายของคุณคือการA-Za-zเชื่อมโยงตัวอักษรที่อยู่ติดกันด้วยตัวอักษรกลางทั้งหมดของตัวอักษร ( ) ระหว่างพวกเขา หากตัวพิมพ์ใหญ่แตกต่างกันการแปลงเป็นตัวพิมพ์ใหญ่ควรจะอยู่ตรงกลาง หากโครงสร้างเงินทุนไม่สามารถเปลี่ยนอย่างสม่ำเสมอในช่วงกลางก็เสียขึ้นหลังจากกลาง หากตัวละครไม่ใช่ตัวอักษรตัวอักษรไม่ควรทำการแปลงใด ๆ การชนะ นี่คือโค้ดกอล์ฟที่สั้นที่สุดในหน่วยไบต์! โบนัส -10%:หากรหัสของคุณเชื่อมโยงหลัก
14 code-golf  string 

22
String Zip และเรียงลำดับ
กำหนดรายการของสตริงเอาท์พุทสตริงเดียวที่เกิดขึ้นโดยการใช้อักขระจากแต่ละสตริงที่แต่ละตำแหน่งเรียงลำดับตามลำดับ ASCII และต่อท้ายพวกเขาเพื่อสตริงออก กล่าวอีกนัยหนึ่งสำหรับnสตริงอินพุตอักขระnตัวแรกของเอาต์พุตจะเป็นอักขระตัวแรกของแต่ละอินพุตเรียงตามลำดับnตัวอักขระที่สองของเอาต์พุตจะเป็นอักขระตัวที่สองของอินพุตที่เรียงลำดับตามลำดับและดังนั้น บน. คุณอาจคิดว่าสตริงนั้นมีความยาวเท่ากันและจะมีสตริงอย่างน้อยหนึ่งสตริง สตริงทั้งหมดจะประกอบด้วยอักขระที่พิมพ์ได้ ASCII เท่านั้น (เลขที่ 32-127) การใช้งานอ้างอิงใน Python ( ลองออนไลน์ ): def stringshuffle(strings): res = '' for i in range(len(strings[0])): res += ''.join(sorted([s[i] for s in strings],key=ord)) return res ตัวอย่าง: "abc","cba" -> "acbbac" "HELLO","world","!!!!!" -> "!Hw!Eo!Lr!Ll!Od" กฎระเบียบ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ ลีดเดอร์บอร์ด สแต็คส่วนย่อยที่ด้านล่างของโพสต์นี้สร้างกระดานแต้มนำจากคำตอบ a) เป็นรายการคำตอบสั้นที่สุดต่อภาษาและ b) เป็นกระดานแต้มนำโดยรวม …
14 code-golf  string 

17
โค้ดกอล์ฟ: Forwards sdrawkcaB sdrawkcaB Forwards sdrawkcaB
งาน ผู้ใช้ป้อนประโยค - คำเท่านั้น การป้อนข้อมูลใด ๆ นอกเหนือจากตัวอักษรหรือช่องว่างรวมถึงจำนวนเต็มและเครื่องหมายวรรคตอนควรมีข้อยกเว้น: "ประโยคต้องใช้ตัวอักษรเท่านั้น" เอาต์พุตมีรูปแบบโดยที่บางคำกลับด้านและคำอื่น ๆ เป็นเรื่องปกติ รูปแบบเริ่มต้นเป็นคำปกติคำสองคำถัดไปจะกลับรายการจากนั้นคำสองคำถัดไปเป็นปกติและรูปแบบจะดำเนินต่อไป ตัวอย่างของคำที่ควรเป็นปกติและคำที่ตรงกันข้ามอยู่ด้านล่าง: ปกติ - กลับด้าน - ย้อนกลับ - ปกติ - ธรรมดา - กลับด้าน - ย้อนกลับ - ปกติ ... ตัวอย่างการป้อนข้อมูล เธอขายเปลือกหอยบนชายฝั่งทะเล ตัวอย่างผลลัพธ์ เธอ slles aeS shells บน eht aeS shore กฎเพิ่มเติม หากมีการใช้ตัวอักษรพิมพ์ใหญ่พวกเขาควรจะยังคงอยู่ในตัวอักษรที่พวกเขาโพสต์เดิม ช่องว่างหลาย ๆ อันที่ถูกโพสต์บนอินพุตควรถูกลดขนาดเป็นหนึ่งช่องว่าง ยกตัวอย่างเช่นProgramming Puzzles and Code Golfจะกลายเป็นProgramming …

25
จำนวนชิ้นบนกระดานหมากรุก
บทนำ กระดานหมากฮอสปกติประกอบด้วย 8 x 8 = 64 กำลังสอง: คุณจะเห็นว่าในทั้งหมดมี12 ชิ้นสีขาว ขาวดำมีจำนวนชิ้นเท่ากันเสมอ หากมีชิ้นส่วนใด ๆ บนกระดานชิ้นส่วนจะอยู่ใกล้เคียงซึ่งไม่ได้รับอนุญาตสำหรับความท้าทายนี้ เพื่อชี้แจงสิ่งต่าง ๆ ต่อไปนี้เป็นตัวอย่าง: บอร์ดที่เล็กที่สุดที่เป็นไปได้สำหรับความท้าทายนี้คือ3 x 3 : คุณจะเห็นว่าจำนวนเงินสูงสุดของชิ้นเท่ากับ2 ดังนั้นเมื่อได้รับN = 3คุณจะต้องเอาท์พุท2 หากอินพุตคือN = 4เราจะได้รับสิ่งต่อไปนี้: คุณจะเห็นว่าจำนวนเงินสูงสุดยังเป็น 2. ดังนั้นสำหรับN = 4ผลผลิตที่ควรจะเป็น2 สำหรับN = 5ผลลัพธ์ควรเท่ากับ5 : ตัวอย่าง STDIN: 3 STDOUT: 2 STDIN: 4 STDOUT: 2 STDIN: 5 STDOUT: 5 …

4
การนับกลุ่ม Abelian ในขนาดที่กำหนด
พื้นหลัง ครั้งที่แล้วเรานับกลุ่มของขนาดที่กำหนดซึ่งเป็นปัญหาที่ไม่สำคัญ เวลานี้เราจะนับเฉพาะกลุ่มชาว Abelianเช่นกลุ่มที่มีการดำเนินการสับเปลี่ยน อย่างเป็นทางการเป็นกลุ่ม(G, *)เป็นคริสต์ถ้าx * y ที่ y = x *สำหรับทุกx, yในG ปัญหานี้ง่ายขึ้นมากดังนั้นเราจะนับพวกมันอย่างมีประสิทธิภาพ งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ยอมรับจำนวนเต็มไม่เป็นลบnเป็น input และพิมพ์หรือส่งกลับจำนวนของกลุ่มคริสต์ไม่ใช่ isomorphic ของการสั่งซื้อn วิธีหนึ่งในการคำนวณจำนวนกลุ่ม - ซึ่งเราจะแสดงโดยA (n) - คือการสังเกตสิ่งต่อไปนี้: A (0) = 0 ถ้าหน้าเป็นนายก(หน้าk )จะเท่ากับจำนวนของพาร์ทิชันจำนวนเต็มของk (cfr. OEIS A000041 ) ถ้าn = mkและมและkจะร่วมนายกA (n) = A (เมตร) A (k) คุณอาจจะใช้นี้หรือวิธีการอื่นใดในการคำนวณA (n) กรณีทดสอบ Input …

5
มันเป็น L-convex หรือไม่
พื้นหลัง polyominoเรียกว่าL-นูนถ้ามันเป็นไปได้ที่จะเดินทางจากกระเบื้องใด ๆ กับกระเบื้องอื่น ๆ โดยเส้นทางรูปตัว L ที่เป็นเส้นทางที่จะไปในทิศทางที่พระคาร์ดินัลและทิศทางการเปลี่ยนแปลงที่มากที่สุดครั้งหนึ่ง ตัวอย่างเช่นโพลีโนมีนของ1s ในรูป 0 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 ไม่ใช่ L-convex เนื่องจากเส้นทางรูปตัว L จากด้านล่างซ้าย1ไปด้านบนขวา1ประกอบด้วย0: 0>0>1>1>1 0 ^ ^ 1 1 1 1 0 0 ^ ^ 1>1>0>0>0 0 อย่างไรก็ตามโพลีโอมิโนของ1s ในรูปนี้คือ L-convex: …

1
สร้างโมเด็ม (ซอฟต์แวร์)!
วัตถุประสงค์ ออกแบบคู่mo mo dulator / dem odulatorเพื่อส่งข้อมูลอย่างรวดเร็วที่สุดเท่าที่จะทำได้ผ่านบริการโทรศัพท์ธรรมดาแบบเก่า (POTS)(หม้อ) ขั้นตอน สร้างแบบสุ่ม (/dev/randomหรือที่คล้ายกัน) ซึ่งจะใช้เวลาในการส่ง 3-4 วินาที แก้ไขข้อมูลด้วยโมดูเลเตอร์ของคุณเพื่อสร้างไฟล์เสียง ส่งไฟล์เสียงผ่านเครื่องจำลอง POTSจำลองหม้อหากคุณไม่มี Python / Scipy คุณสามารถอัปโหลดไฟล์ด้วยแบบฟอร์มหรือทำคำขอ JSON API demodulate ไฟล์เสียงกลับไปเป็นข้อมูลไบนารี ตรวจสอบว่าอินพุตและเอาต์พุตเท่ากับ -h * (จำกัด 1 จากทุก ๆ 1,000 บิตอาจเสียหายได้) คะแนนคือจำนวนบิตที่ส่งหารด้วยความยาวของไฟล์เสียง (บิต / วินาที) กฎระเบียบ ไฟล์อินพุตต้องเป็น 3-4 วินาที, 44.1 kHz, mono รันโปรแกรมจำลองด้วย SNR ที่ 30 เดซิเบล …

1
การนับโซ่ของคันนิงแฮม
ตัวเลขที่สำคัญทำให้ผู้คนหลงใหล 2300 ปีที่แล้ว Euclid เขียนใน "Elements" ของเขา จำนวนเฉพาะคือสิ่งที่วัดโดยหน่วยเดียว ซึ่งหมายความว่านายกสามารถหารด้วย1(หรือด้วยตัวเอง) เท่านั้น ผู้คนมักจะมองหาความสัมพันธ์ระหว่างจำนวนเฉพาะและเกิดขึ้นกับบางสิ่งที่แปลก (เช่นใน "น่าสนใจ") ตัวอย่างเช่นนายก Sophie Germainเป็นนายกpที่2*p+1สำคัญเช่นกัน นายกปลอดภัยเป็นนายกpที่(p-1)/2ยังเป็นนายกรัฐมนตรีซึ่งเป็นว่าสภาพข้างหลังของนายกโซฟีต์แชร์กแมง สิ่งเหล่านี้เกี่ยวข้องกับสิ่งที่เรากำลังมองหาในการท้าทายนี้ ห่วงโซ่คันนิงแฮมของประเภทที่เป็นชุดของจำนวนเฉพาะที่องค์ประกอบยกเว้นคนสุดท้ายทุกคนจะเป็นนายกโซฟีต์แชร์กแมงและองค์ประกอบยกเว้นคนแรกที่ทุกคนเป็นนายกปลอดภัย จำนวนขององค์ประกอบในครั้งนี้มีห่วงโซ่ที่เรียกว่ามันยาว ซึ่งหมายความว่าเราเริ่มต้นด้วยการลากและคำนวณp q=2*p+1ถ้าqเป็นไพร์มด้วยเรามี Cunnigham chain ของ type I ที่มีความยาว 2 จากนั้นเราจะทดสอบ2*q+1และต่อไปเรื่อย ๆ จนกระทั่งจำนวนที่สร้างขึ้นถัดไปเป็นคอมโพสิต โซ่คันนิงแฮมประเภทIIสร้างขึ้นตามหลักการเดียวกันเกือบทั้งหมดความแตกต่างเพียงอย่างเดียวคือเราตรวจสอบ2*p-1แต่ละขั้นตอน โซ่คันนิงแฮมสามารถมีความยาว 1ซึ่งหมายความว่า 2 * p + 1 หรือ 2 * p-1 ไม่สำคัญ เราไม่ได้สนใจในสิ่งเหล่านี้ ตัวอย่างบางส่วนของ Cunningham chains 2เริ่มสายโซ่ประเภทที่ฉันมีความยาว …

7
Pseudorandom Cellular Automaton
บทนำ ในความท้าทายนี้เราจะจำลองหุ่นยนต์เคลื่อนที่อัตโนมัติที่น่าจะเป็นไปได้โดยใช้ตัวเลขเทียมปลอมที่แย่มาก หุ่นยนต์เซลลูลาร์ถูกกำหนดบนสตริงไบนารีโดยกฎโลคัลต่อไปนี้ สมมติว่าเพื่อนบ้านซ้ายของเซลล์และเซลล์ของตัวเองมีรัฐและab หากmin(a,b) == 0แล้วรัฐใหม่ของมีที่bmax(a,b) หากmin(a,b) == 1แล้วรัฐใหม่ของที่ถูกเลือกโดยการสุ่มจากb{0,1} ภาพต่อไปนี้แสดงให้เห็นถึงวิวัฒนาการ 10 ขั้นตอนเดียวที่เป็น1ไปได้ 1 11 101 1111 11001 101011 1111111 10001001 110011011 1010111101 สังเกตว่า1บางครั้ง s สองอันที่อยู่ติดกันพัฒนาไป1มาและบางครั้งถึง0และบิตที่ขอบสุดจะเป็น1s เสมอ งานของคุณคือผลิตวิวัฒนาการออโตมาตาเซลในรูปแบบนี้ ปัจจัยการผลิต อินพุตของคุณเป็นจำนวนเต็มบวกnแสดงถึงจำนวนแถวที่จะแสดงและรายการบิตที่ไม่ว่างLซึ่งเราใช้เป็นแหล่งของการสุ่ม เอาท์พุต การส่งออกของคุณคือรายชื่อของรายการหรืออาร์เรย์ 2 มิติของบิตภาพวาดวิวัฒนาการของเดียว1สำหรับnขั้นตอนเวลาในรูปดังกล่าวข้างต้น คุณสามารถวางผลลัพธ์ด้วย0s เพื่อให้ได้แถวที่มีความยาวเท่ากันหากต้องการ แต่จะต้องไม่มีการนำหน้า0s ตัวเลือกแบบสุ่มในหุ่นยนต์เซลลูล่าร์จะต้องดึงออกมาจากรายการLแล้วกระโดดกลับไปที่จุดเริ่มต้นเมื่อหมดแล้ว อย่างชัดเจนยิ่งขึ้นถ้าผลลัพธ์ถูกส่งผ่านหนึ่งแถวในรูปแบบเวลาจากบนลงล่างจากซ้ายไปขวาจากนั้นตัวเลือกสุ่มที่ต่อเนื่องจะสร้างรายการLซ้ำหลาย ๆ ครั้งตามที่จำเป็น ตัวอย่าง สมมติว่าปัจจัยการผลิตที่มีและn = 7 L = [0,1,0]จากนั้นหุ่นยนต์เซลลูล่าร์จะค่อยๆพัฒนาดังต่อไปนี้ในช่วง 7 ขั้นตอนที่เราวางตัวเลือกไว้vเหนือตัวเลือกแบบสุ่ม: …

6
ตัวเลขที่เชื่อถือได้
ตัวเลขที่เชื่อถือได้ อนุญาตxเป็นจำนวนเต็มของฐานโดยพลการเช่นนั้นDคืออาร์เรย์ของตัวเลข xเป็นหมายเลขที่ไว้วางใจถ้าสำหรับทั้งหมดnระหว่าง1และความยาวของD: D[n+1] = D[n] + D[n-1] + ... + D[1] + n ยกตัวอย่างเช่นตัวเลข349ในฐาน 10 หากเราติดป้ายดัชนีสำหรับหมายเลขนี้เรามีดังต่อไปนี้ Index Digit ----- ----- 1 3 2 4 3 9 เริ่มจากหลักแรกเรามี1 + 3 = 4ซึ่งให้หลักถัดไป จากนั้นด้วยตัวเลขที่สองเรามี3 + 4 + 2 = 9ซึ่งอีกครั้งให้ผลหลักถัดไป ดังนั้นหมายเลขนี้คือหมายเลขที่ไว้วางใจ กำหนดจำนวนเต็มด้วยฐานระหว่าง 1 ถึง 62 คำนวณตัวเลข Confidant ทั้งหมดสำหรับฐานนั้นและส่งออกรายการของพวกเขาคั่นด้วยบรรทัดใหม่ คุณสามารถสันนิษฐานได้ว่ามีหมายเลข Confidant Number …
14 code-golf  number 

2
Karel J. AlphaBot Sequence Generator
คะแนน ส่วนนี้จะถูกกรอกเมื่อมีการส่งผลงาน ปกติ 1. bopjesvla Perl 54 2. edc65 Javascript (ES6) 91 3. name language score 4. name language score 5. name language score รอบโบนัส 1. name language score 2. name language score 3. name language score 4. name language score 5. name language score Karel J. AlphaBot พื้นหลัง หลักสูตรเบื้องต้นยอดนิยมสำหรับ …
14 code-golf 

5
การประมวลผลข้อความ # 1: การใส่ไฮเฟ็น
พื้นหลัง นี่คือส่วนแรกของสนามกอล์ฟ 3 หลุมในการประมวลผลข้อความ แนวคิดที่เกินความคาดหมายคือถ้าคุณนำข้อความเข้าและไปป์ผ่านวิธีแก้ปัญหาทั้งสามข้อ (ด้วยรหัสกาวจำนวนเล็กน้อย) มันจะแยกย่อหน้าที่จัดรูปแบบออกมาอย่างสวยงาม ในการท้าทายครั้งแรกนี้งานของคุณคือการใส่ยัติภังค์ชิ้นส่วนของข้อความโดยใช้รูปแบบการใส่ยัติภังค์ที่กำหนด อินพุต โปรแกรมของคุณจะรับอินพุตสตริงสองเส้น: ข้อความและรายการรูปแบบยัติภังค์ อินพุตแรกเป็นสตริงที่ไม่ว่างเปล่าของอักขระ ASCII และช่องว่างที่พิมพ์ได้ ~ก็จะได้มีการแบ่งบรรทัดหรือเครื่องหมายตัวหนอน อินพุตที่สองคือรายการคำที่คั่นด้วยจุลภาคซึ่งประกอบด้วยพยางค์ที่คั่นด้วย tilde ของอักขระ ASCII ตัวพิมพ์เล็ก ex~cel~lent,pro~gram~ming,abil~i~tiesตัวอย่างคือ เอาท์พุต โปรแกรมของคุณจะแก้ไขอินพุตแรกด้วยวิธีต่อไปนี้ คำใด ๆ (สตริงย่อยสูงสุดของตัวอักษร ASCII ตามตัวอักษร) ที่พบตัวพิมพ์เล็กที่ใส่ยัติภังค์ในอินพุตที่สองจะถูกแทนที่ด้วยเวอร์ชันที่ใส่ยัติภังค์นั้น แต่จะต้องเก็บรักษาไว้ ด้วยรายการตัวอย่างข้างต้นหากข้อความมีคำว่าExcellentมันจะถูกแทนที่ด้วยEx~cel~lent; อย่างไรก็ตามExcellentlyจะไม่สามารถแก้ไขได้ ผลลัพธ์ของคุณจะต้องเป็นสตริงที่ดัดแปลงนี้ รายละเอียดกฎและเกณฑ์การให้คะแนน คุณสามารถสมมติสิ่งต่อไปนี้เกี่ยวกับอินพุต: อินพุตแรกไม่มี tildes และไม่มีช่องว่างนำหน้าต่อท้ายหรือเว้นวรรคซ้ำ ไม่ว่างเปล่า อินพุตที่สองมีอย่างน้อยหนึ่งคำและแต่ละคำในนั้นจะมีอย่างน้อยสองพยางค์ แต่ละพยางค์ไม่ว่างเปล่า อินพุตที่สองไม่มีคำที่เกิดขึ้นเป็นพยางค์ในคำอื่น คุณสามารถเปลี่ยนลำดับของอินพุตทั้งสองถ้าต้องการและเพิ่มทางเลือกหนึ่งบรรทัดขึ้นบรรทัดใหม่ไปยังเอาต์พุต คุณสามารถเขียนฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบ 1st input [newline] 2nd …

4
การนับจุดสิ้นสุดของศิลปะ ASCII
คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับสตริงที่แสดงถึง ASCII art เป็น input และ output หรือคืนค่าจำนวน endpoints ใน input อินพุตจะประกอบด้วยอักขระspace - | +(ที่มีจุดปลาย 0, 2, 2 และ 4 ตามลำดับ) และการแบ่งบรรทัด เช่น: -|++- + อักขระสองตัวที่อยู่ติดกันถูกเชื่อมต่อและทำให้สูญเสีย 1 จุดปลายในแต่ละกรณีในกรณีต่อไปนี้: -- -+ +- | | + + ++ | + | + ตัวอย่างแรกมี 2+2+2+2+1+ 3 = 12 ปลายทาง อินพุต การป้อนข้อมูลจะเป็นสตริงที่ประกอบด้วยพื้นที่ตัวอักษร-, |, +และขึ้นบรรทัดใหม่ …

3
ตรวจสอบปุ่มทั้งหมดของแป้นพิมพ์
เขียนโปรแกรมที่สั้นที่สุดที่รอสำหรับทุกคีย์ของคีย์มาตรฐาน 101 US *เพื่อกดและออกจากการเขียน OK! ทุกครั้งที่มีการกดปุ่มโปรแกรมจะปรากฏขึ้นบนบรรทัดใหม่จำนวนที่เหลือของปุ่มที่ไม่ซ้ำซึ่งยังไม่ได้กดซึ่งจะต้องกดจนกว่าจะกดปุ่มทั้งหมดอย่างน้อยหนึ่งครั้ง โปรแกรมควรสามารถทดสอบ 101 แป้นพิมพ์และดูว่าทุกปุ่มทำงานได้หรือไม่ ดังนั้นการกดปุ่มสองครั้งหรือป้อนจะต้องได้รับอนุญาตตราบใดที่ระบุไว้กับผู้ใช้ การกดปุ่มเดิมสองครั้งขึ้นไปไม่ควรทำให้รหัสหยุดชะงักหรือเปลี่ยนหมายเลขที่แสดงของปุ่มที่ยังไม่ได้กดที่เหลือ คีย์ทั้งหมด ( Left Shift, Right Shift, Right Control, Esc, Enterฯลฯ ) ควรจะรวม ปุ่มแป้นพิมพ์ที่เกิดขึ้นจริงมีความสำคัญในความท้าทายนี้ดังนั้นจากมุมมองของโปรแกรม ( Aและaเป็นเดียวกันและเพื่อให้มี6และ^) คีย์ผสมจะไม่ได้รับการลงทะเบียนเป็นคำสั่งแบบรวมและจะมีการลงทะเบียนเฉพาะคีย์แต่ละรายการหากกดCtrl+ Alt+ Delซึ่งจะนับสำหรับแต่ละคีย์ทั้งหมดในชุดค่าผสมที่ถูกกด ดังนั้นไม่จำเป็นต้องกดตัวพิมพ์ใหญ่หากคุณกดตัวพิมพ์เล็กและตัวพิมพ์ใหญ่แล้ว แผงปุ่มกดตัวเลขบนแป้นพิมพ์ตัวเลขมีความแตกต่างจากมุมมองของโปรแกรมเพื่อให้พวกเขายังคงมีความจำเป็นที่จะต้องกดสำหรับโปรแกรมที่จะเสร็จสิ้นถ้าคุณมีแล็ปท็อปหรือแป้นพิมพ์อื่น ๆ ที่ไม่ได้มีมาตรฐาน 101 ดอลลาร์สหรัฐแป้นพิมพ์แบบคุณ ไม่สามารถทำสิ่งที่ท้าทายได้หากคุณไม่ได้ติดตั้งแป้นพิมพ์ที่เข้ากันได้ * คีย์บอร์ดที่มีคีย์ Fn และคีย์แล็ปท็อปจะไม่ได้รับการสนับสนุนเพื่อให้ความท้าทายนี้เป็นไปได้ นี่คือรายการของแป้นสำหรับรูปแบบแป้นพิมพ์ 101 มาตรฐานของสหรัฐอเมริกา: backspace tab enter right shift right ctrl …

4
ใช้การเข้ารหัสความยาวรันของ bzip2
พื้นหลัง หลังจากใช้ BWT (เท่าที่เห็นในBurrows, Wheeler และ Back ) และ MTF (ดังที่เห็นในย้ายไปยังหน้า ASCII ที่พิมพ์ได้ ) คอมเพรสเซอร์bzip2ใช้รูปแบบการเข้ารหัสที่ค่อนข้างยาว คำนิยาม สำหรับวัตถุประสงค์ของการท้าทายนี้เราได้กำหนดการเปลี่ยนแปลง BRLE ดังนี้: รับสตริงอินพุตsที่ประกอบด้วยอักขระ ASCII ที่มีจุดรหัสระหว่าง 0x20 ถึง 0x7A เท่านั้นให้ทำดังนี้: แทนที่การเรียกใช้อักขระที่เท่ากันแต่ละครั้งด้วยการเกิดขึ้นครั้งเดียวของตัวละครและจำนวนการจัดเก็บการทำซ้ำหลังจากครั้งแรก เข้ารหัสจำนวนการทำซ้ำ หลังจากที่เกิดขึ้นครั้งแรกของตัวละครโดยใช้bijective ฐานที่ 2 การคิดเลขและสัญลักษณ์และ{} จำนวนเต็มไม่เป็นลบnถูกเข้ารหัสเป็นสตริงb k … b 0เช่นนั้นn = 2 k i (b k ) + … + 2 0 i …

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