คำถามติดแท็ก compression

เกี่ยวข้องกับการบีบอัดหรือคลายการบีบอัดข้อมูลโดยพลการ ความท้าทายที่เกี่ยวข้องกับการบีบอัดอินพุตเฉพาะหนึ่ง ๆ ควรติดแท็ก [kolmogorov-complex]

5
การบีบอัดบอร์ดเกรงกลัว
เมื่อทำงานกับNon-Palindromic Polyglot Boggleฉันพบว่ามันค่อนข้างน่าเบื่อที่จะบรรจุรหัสอย่างมีประสิทธิภาพที่สุดเท่าที่จะเป็นไปได้บนบอร์ดเกรงขามแม้จะมีเพียงสองสาย แต่เราเป็นโปรแกรมเมอร์ใช่ไหม เรารู้วิธีทำให้สิ่งต่างๆเป็นไปโดยอัตโนมัติ รับรายการสตริงคุณจะต้องสร้างบอร์ดเกรงกลัวที่แต่ละสตริงสามารถพบได้ (เป็นอิสระจากคนอื่น ๆ ) ความท้าทายคือการทำให้กระดานเกรงกลัวมีขนาดเล็กที่สุดเท่าที่จะทำได้ เนื่องจากนี่คือ (หวังว่า) เป็นงานที่ค่อนข้างยากนี่เป็นความท้าทายของรหัส : ไม่มีข้อกำหนดสำหรับการเพิ่มประสิทธิภาพ - ความท้าทายคือการทำมันให้ดีที่สุดเท่าที่จะทำได้ กฎระเบียบ บอร์ดเกรงกลัวจะเป็นรูปสี่เหลี่ยมผืนผ้าและมีตัวอักษรตัวพิมพ์ใหญ่เท่านั้น ดังนั้นสตริงอินพุตจะมีเฉพาะตัวอักษรตัวพิมพ์ใหญ่เท่านั้น ใช้กฎการเกรงกลัวตามปกติ: สตริงเป็นส่วนหนึ่งของบอร์ดหากเริ่มต้นที่ใดก็ได้คุณสามารถค้นหาสตริงโดยการย้ายไปยังอักขระที่อยู่ติดกันซ้ำ ๆ (แนวนอนแนวตั้งหรือแนวทแยงมุม) ในการสร้างสตริงเดี่ยวคุณไม่สามารถใช้เซลล์ใด ๆ ของบอร์ดมากกว่าหนึ่งครั้ง อย่างไรก็ตามตัวละครอาจถูกนำมาใช้ซ้ำระหว่างสตริงที่แตกต่างกัน คุณมีเวลา 30 นาทีในการประมวลผลข้อมูลทดสอบและรหัสของคุณจะต้องไม่ใช้หน่วยความจำเกิน 4 GB ฉันจะให้ระยะเพิ่มขึ้นเล็กน้อยบนขีด จำกัด หน่วยความจำ แต่ถ้าโปรแกรมของคุณใช้มากกว่า 4 GB หรือ spikes อยู่เหนือมันอย่างมีนัยสำคัญฉันจะ (ชั่วคราว) ตัดสิทธิ์การใช้งาน ฉันจะทดสอบการส่งทั้งหมดในเครื่องของตัวเองซึ่งใช้ Windows 8 ฉันมี Ubuntu VM …

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

2
การบีบอัดแบบผูกขาด
รับสตริงที่แสดงถึงสถานะปัจจุบันของเกมMonopolyที่จุดเริ่มต้นของการเปิดของผู้เล่นบีบอัดข้อมูลที่จำเป็นทั้งหมดลงในเอาต์พุตที่เล็กที่สุด คำตอบจะถูกตัดสินโดยขนาดของการส่งออกและขนาดแหล่งที่มา หมายเหตุ: มีหลายรูปแบบในภูมิภาค แต่การอ้างอิงทั้งหมดในโพสต์นี้ไปยังชื่อทรัพย์สิน ฯลฯ อ้างอิงจากบอร์ดนี้ การป้อนข้อมูล: อินพุตจะถูกกำหนดเป็น;สตริงที่แยกเดี่ยว สตริงนี้มอบให้กับโปรแกรมในลักษณะใดก็ตามที่เป็นธรรมเนียมในภาษาที่คุณเลือกไม่ว่าจะเป็น stdin, อาร์กิวเมนต์ ฯลฯ อินพุตที่ยังไม่ฟอร์แมตจะมีลักษณะดังนี้: numPlayers (1 to 8) whose turn (0 to numPlayers-1) for each player: bankrupt? (true/false) money (0 to 2^16-1) get-out-of-jail-free cards (0 to 2) position (0 to 39) jail turns (-1 to 2) for 28 properties: owner …

7
ส่งสายจักรวาล
โทรจักรวาลเป็นข้อความที่ส่งเข้ามาในพื้นที่ในปี 1999 และปี 2003 มันทำจาก 23 127 * 127px ภาพขาวดำบิตแมปที่ระบุรายละเอียดที่นี่ ภารกิจของคุณคือการเขียนโปรแกรมที่แสดงข้อความ 127 * 2921px ทั้งหมดไม่ว่าจะเป็นข้อความ (ทำจากศูนย์ศูนย์และตัวแบ่งบรรทัด) หรือเป็นรูปภาพ (วาดบนหน้าจอหรือบันทึกไว้ในดิสก์) จะมีผู้ชนะสองประเภท: หนึ่งประเภทสำหรับข้อความและอีกหนึ่งประเภทสำหรับรูปภาพ เทคนิคทั้งหมดได้รับอนุญาตยกเว้นช่องโหว่ทั่วไป อนุญาตให้ส่งออก 23 หน้าแยกกัน อนุญาตให้เขียนโปรแกรมได้สูงสุด 23 โปรแกรม (เช่นเดียวสำหรับแต่ละหน้า) และรวมขนาดเพื่อกำหนดคะแนนของคุณ ได้รับอนุญาตให้ใช้ไฟล์ไบนารีได้สูงสุด 23 ไฟล์ข้างๆโปรแกรมของคุณ น้ำหนักของพวกเขาจะถูกนับในคะแนนของคุณ รหัสที่สั้นที่สุด (เป็นไบต์) ชนะ ที่ 1 บิตต่อพิกเซลภาพประกอบด้วย 127 * 127 * 23/8 = 46370 ไบต์ + 7 บิตของข้อมูล …

4
การบีบอัด Palindrome
ท้าทาย เขียนโปรแกรมที่บีบอัดและคลายขนาดข้อความ ASCII แบบไม่สูญเสียข้อมูล มันควรจะมีความเชี่ยวชาญในการทำงานได้ดีกับ palindromes รวมถึง case-insensitive และ punctuation-palindromes การบีบอัดที่ดีที่สุดกับแหล่งที่เล็กที่สุดชนะ เกณฑ์การให้คะแนน total_bytes_saved / sqrt(program_size) - ชนะคะแนนสูงสุด total_bytes_savedเป็นจำนวนไบต์ที่บีบอัดสตริงที่มีขนาดเล็กกว่าต้นฉบับรวมในกรณีทดสอบด้านล่างทั้งหมด program_sizeมีขนาดเป็นไบต์ของซอร์สโค้ดของโปรแกรมบีบอัดและคลายการบีบอัด รหัสที่ใช้ร่วมกันระหว่างสองจำเป็นต้องนับเพียงครั้งเดียว ตัวอย่างเช่นหากมี 10 กรณีทดสอบและโปรแกรม 100 ไบต์บันทึก 5 ไบต์ในกรณีทดสอบ 7 กรณีแต่ละกรณีมี 2 กรณี แต่กรณีทดสอบสุดท้ายคือ 2 ไบต์อีกต่อไปโซลูชันจะได้คะแนน 5.3 ( (7 * 5 + 10 * 2 - 2) / sqrt(100) = 5.3) กรณีทดสอบ …

3
Burrows, Wheeler และ Back
พื้นหลัง Burrows-Wheeler เปลี่ยน (BWT) คือการเปลี่ยนแปลงแบบพลิกกลับของตัวละครของสตริงว่าผลลัพธ์ในการทำงานที่มีขนาดใหญ่ของตัวละครที่คล้ายกันสำหรับบางประเภทของสตริงเช่นข้อความธรรมดา มันถูกใช้สำหรับตัวอย่างเช่นในขั้นตอนวิธีการบีบอัด bzip2 BWT ถูกกำหนดดังนี้: รับสตริงอินพุตเช่นcodegolfคำนวณการหมุนที่เป็นไปได้ทั้งหมดและเรียงลำดับตามคำศัพท์: codegolf degolfco egolfcod fcodegol golfcode lfcodego odegolfc olfcodeg BWT ของสตริงcodegolfคือสตริงที่ประกอบด้วยอักขระตัวสุดท้ายของแต่ละสตริงตามลำดับนั่นคือคอลัมน์สุดท้ายของบล็อกด้านบน สำหรับcodegolfผลตอบแทนfodleocgนี้ ด้วยตัวเองการแปลงนี้ไม่สามารถย้อนกลับได้เนื่องจากสตริงcodegolfและgolfcodeผลลัพธ์ในสตริงเดียวกัน อย่างไรก็ตามถ้าเรารู้ว่าสตริงนั้นลงท้ายด้วย a fมีเพียงหนึ่ง preimage ที่เป็นไปได้ งาน ใช้โปรแกรมหรือฟังก์ชั่นที่ไม่เกี่ยวข้องซึ่งอ่านสตริงเดี่ยวจาก STDIN หรือเป็นบรรทัดคำสั่งหรือฟังก์ชันอาร์กิวเมนต์แล้วพิมพ์หรือส่งคืน BWT หรืออินเวิร์สต์ของสตริงอินพุต หากสตริงอินพุตไม่มีช่องว่างการส่งของคุณควรผนวกช่องว่างเดียวกับอินพุตและคำนวณ BWT หากสตริงอินพุตมีช่องว่างอยู่แล้วควรคำนวณ preimage ของ BWT ที่มีช่องว่างต่อท้ายและตัดช่องว่างนั้น ตัวอย่าง INPUT: ProgrammingPuzzles&CodeGolf OUTPUT: fs&e grodllnomzomaiCrGgPePzu INPUT: fs&e grodllnomzomaiCrGgPePzu OUTPUT: …

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เริ่มสายโซ่ประเภทที่ฉันมีความยาว …

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 …

2
สร้างภาพที่บีบอัดได้น้อยที่สุด
"รูปภาพมีค่าหนึ่งพันคำ" - เพื่อให้คำพูดเก่าดำเนินไป คำเฉลี่ยมีความยาวประมาณสี่ตัวอักษรดังนั้นรูปภาพจึงสื่อถึงข้อมูลขนาด 4kB แต่รูปภาพสามารถสื่อความเป็นเอนโทรปีได้อย่างไร งานของคุณคือการสร้างภาพขนาด 4,000 ไบต์และมีค่าเอนโทรปีสูงสุดเท่าที่จะเป็นไปได้ คุณสามารถใช้ภาษาไลบรารีหรือรูปแบบภาพที่คุณเลือกและคุณสามารถส่งออกไปยังคอนโซลหรือไฟล์ตราบใดที่คุณอัพโหลดรูปภาพของคุณที่นี่ เกณฑ์การให้คะแนน คะแนนของคุณคืออัตราส่วนการอัด (4000 ÷บีบอัดขนาด) เมื่อภาพของคุณจะถูกบีบอัดด้วย GNU tarรุ่น 1.28 และgzipรุ่น 1.6 โดยใช้อัลกอริทึมและการตั้งค่าเริ่มต้นยุบ - tar -czvf out.tar.gz imageโดยเฉพาะคำสั่ง อัตราการบีบอัดที่เล็กที่สุดชนะ

4
กลยุทธ์สำหรับการแทนค่าจำนวนเต็มขนาดใหญ่ที่กำหนดโดยใช้นิพจน์ทางคณิตศาสตร์
ฉันมีจำนวนที่เฉพาะเจาะจงในใจ แต่มันเป็นส่วนหนึ่งของความท้าทายที่ฉันทำและฉันไม่ต้องการให้คนทำ (ทั้งหมด) สำหรับฉัน นี่คือตัวเลขที่มีตัวเลขเหมือนกัน แต่มีการสับแบบ: 5713167915926167134578399473447223554460066674314639815391281352328315313091488448321843 8892917486601064146636679920143691047671721184150386045081532202458651561779976236919751 5521854951599379666116678853267398393892536121049731949764192014193648608210652358947001 6332620900065461061195026191178967128001712341637591690941978871368243245270800684616029 6679555942849366434586090627998161441134473428845367022486230724219981658438108844675033 4461550796750244527407413996606134735852639191026103378962082622204359677030054592798927 4145951979523473408718011778751084514127053772614511042703365596651912104541233491744530 87457854312602843967491787086250478422477028164189 จำนวนมี 666 หลัก (ทศนิยม) เพราะฉันใช้ Python จำนวนเต็ม (หรือความยาวด้านเทคนิค) เป็น bignums โดยอัตโนมัติ ฉันมี 255 ตัวอักษรให้ใช้และฉันต้องอธิบายหมายเลขเดียวกัน คำอธิบายมีขึ้นเพื่อให้ทำงานผ่าน eval () เพื่อสร้างหมายเลขเดิม ฉันควรมองกลยุทธ์อะไร

3
ผู้ประกอบการ Bitwise ใน Brainfuck
งานของคุณคือสร้างโปรแกรม brainfuck หนึ่งโปรแกรมสำหรับตัวดำเนินการไบนารีต่อไปนี้ แต่ละโปรแกรมควรใช้หนึ่งหรือสองหมายเลข 8 บิต (A และ B) จากอินพุตและคำนวณการดำเนินการที่ระบุ: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A คุณไม่ต้องใช้ทั้งหมด 5 คะแนนคำนวณโดย: #totalCharacters + {4000 * #problemsNotCompleted} คะแนนที่ถูกต้องคือจากศูนย์ (ดีที่สุด) ถึง 20,000 (ไม่เสร็จสมบูรณ์) ฉันไม่สนใจว่าคุณจะเก็บผลลัพธ์ไว้ที่ใดหรือคุณเก็บข้อมูลไว้หรือไม่ สมมติว่าเซลล์ 8 บิตและเซลล์ว่างมากเท่าที่คุณต้องการไปทางขวาเท่านั้น คุณอาจคิดว่าตัวเลขนั้นอยู่ในตำแหน่งหน่วยความจำที่เหมาะกับคุณที่สุดอยู่แล้วดังนั้นคุณไม่ต้องกังวลกับการทำงานของ IO
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

14
แพดไฟล์ด้วยค่าศูนย์
งานของคุณในวันนี้คือการใช้ไฟล์ที่มีอยู่และต่อท้ายศูนย์จนถึงขนาดที่กำหนด คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นซึ่งใช้ชื่อของไฟล์ในไดเรกทอรีปัจจุบันที่และจำนวนของไบต์f bในขณะที่รักษาเนื้อหาต้นฉบับของfคุณจะต้องเขียนเลขศูนย์(null null ไม่ใช่ ascii 0s)ไปยังจุดสิ้นสุดเพื่อให้ขนาดใหม่เป็นbไบต์ คุณอาจคิดว่าfมีเพียงตัวอักษรและตัวเลขในชื่อที่คุณได้รับอนุญาตเต็มรูปแบบว่าในตอนแรกมันไม่ใหญ่กว่าbแต่อาจจะมีขนาดใหญ่เท่าbและมีพื้นที่ว่างที่ไม่มีที่สิ้นสุด คุณอาจไม่ถือว่าfไม่ว่างเปล่าหรือไม่มีไบต์เป็นศูนย์อยู่ ไม่ควรแก้ไขไฟล์ที่มีอยู่อื่นและไฟล์ใหม่ไม่ควรมีอยู่หลังจากสิ้นสุดการประมวลผล กรณีทดสอบ เนื้อหาของ f | b | ส่งผลให้เนื้อหาของ f 12345 | 10 | 1234500000 0 | 3 | 000 [ว่าง] | 2 | 00 [ว่าง] | 0 | [ว่าง] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

5
ใช้เครื่องมือย่อ URL
URL ยาวเกินไป ดังนั้นคุณต้องใช้อัลกอริทึมเพื่อย่อ URL ผม. โครงสร้างของ URL URL ที่มี 2 ส่วนหลักคือโดเมนและเส้นทาง โดเมนเป็นส่วนหนึ่งของ URL ก่อนเครื่องหมายทับแรก คุณอาจสันนิษฐานว่า URL นั้นไม่มีโปรโตคอล เส้นทางเป็นอย่างอื่น ii โดเมน โดเมนของ URL xkcd.com meta.codegolf.stackexcchhannnge.cooomจะเป็นสิ่งที่ชอบ แต่ละส่วนแยกเป็นช่วงเวลาเช่นในblag.xkcd.comส่วนต่าง ๆ เป็น "blag", "xkcd" และ "com" นี่คือสิ่งที่คุณจะทำกับมัน: หากมีมากกว่าสองส่วนให้แยกสองส่วนสุดท้ายและต่อตัวอักษรตัวแรกของส่วนที่เหลือให้ต่อกัน จากนั้นต่อให้แนบอักษรตัวแรกไปยังส่วนที่สองถึงครั้งสุดท้าย เพิ่มจุดและตัวอักษรที่สองและสามของส่วนที่สองถึงครั้งสุดท้าย ละทิ้งส่วนสุดท้าย สาม. เส้นทาง เส้นทางจะเป็นเช่น: /questions/2140/ /1407/. เช่นเดียวกับก่อนหน้านี้ "ชิ้นส่วน" ถูกคั่นด้วยสแลช สำหรับแต่ละส่วนในเส้นทางให้ทำ: เพิ่มเครื่องหมายทับ หากมันทำมาจากเลขฐานสิบให้ตีความว่ามันเป็นตัวเลขและแปลงเป็นจำนวนเต็มฐาน -36 มิฉะนั้นเพิ่มตัวอักษรตัวแรกของส่วน ในตอนท้ายเพิ่มเครื่องหมายทับ …

1
ความท้าทายในการบีบอัดข้อความภาษาอังกฤษแบบไม่สูญเสีย [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ท้าทาย: ความท้าทายของคุณ (หากคุณเลือกที่จะยอมรับ) คือการบีบอัดและขยายขนาด 5MB " Complete Works of William Shakespeare " ตามที่พบที่นี่: http://www.gutenberg.org/cache/epub/100/pg100.txt (MD5: a810f89e9f8e213aebd06b9f8c5157d8) กฎ: คุณต้องป้อนข้อมูลผ่านSTDINและส่งออกผ่านSTDOUT... ... และคุณต้องให้ผลลัพธ์ที่คลายการบีบอัดเหมือนกันกับอินพุต (นี่คือการพูดว่าคุณจะต้องสามารถcat inpt.txt | ./cmprss | ./dcmpress | md5และรับMD5 เดียวกันข้างต้น) (สิ่งใดที่ผ่านSTDERRจะถูกยกเลิก) คุณต้องใช้อักขระน้อยกว่า 2048 ตัวสำหรับรหัสที่มาทั้งหมดของคุณ (นี่ไม่ใช่ code-golf คุณไม่ได้รับคะแนนตามความยาวของซอร์สโค้ดนี่เป็นเพียงกฎเพื่อรักษาสิ่งที่ จำกัด ) (ใช้ความยาวที่ต่อกันของซอร์สโค้ดทั้งหมดหากคุณแยกออก) คุณต้องสามารถประมวลผลอินพุตข้อความธรรมดาที่คล้ายกันได้ (ในทางทฤษฎี) (เช่นการเข้ารหัสยากกลไกซึ่งเป็นเพียงความสามารถในการแสดงผลที่มีให้เช็คสเปียร์อินพุทเป็นที่ยอมรับ.) (ขนาดที่บีบอัดของเอกสารอื่นไม่เกี่ยวข้อง …

1
จำนวนเขาวงกตที่ถูกต้อง
ให้WxHตารางเขาวงกตที่เป็นไปได้กี่ที่จะมี? สิ่งที่คุณรู้เกี่ยวกับเขาวงกต: กริดเป็นHสี่เหลี่ยมจัตุรัสสูงและWกว้าง สี่เหลี่ยมจัตุรัสมีสามประเภท: เริ่มต้นเสร็จสิ้นและว่างเปล่า เขาวงกตของคุณจะต้องมี 1 Start และ 1 Finish อย่างแน่นอนและสี่เหลี่ยมที่เหลือทั้งหมดนั้นจะว่างเปล่า มีกำแพงล้อมรอบเขาวงกตทั้งหมด กำแพงสามารถอยู่บนขอบระหว่างสี่เหลี่ยมสองช่องใดก็ได้ยกเว้นว่ามันจะแตกกฎด้านล่าง: จะต้องมีเส้นทางจากช่องสี่เหลี่ยมเริ่มไปยังสี่เหลี่ยมเส้นชัย ดังนั้นให้มีตัวเลขสองตัวWและHคุณจะต้องส่งกลับหมายเลขเดียวที่แสดงถึงจำนวนของการกำหนดค่าสี่เหลี่ยม / กำแพงที่เป็นไปได้ รับรองได้เลยว่าW*H > 1 ตัวอย่างเช่น2x2เขาวงกตมี100การกำหนดค่าที่เป็นไปได้ที่แตกต่างกันอย่างแน่นอน นี่คือรหัสกอล์ฟเพื่อให้คำตอบที่สั้นที่สุดชนะ!

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