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

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

17
Knight on the Rim คือ Grim
บทนำ Aron Nimzowitsch เป็นหัวหน้าหมากรุกชั้นนำและเป็นนักเขียนหมากรุกที่มีอิทธิพล ในหนังสือของเขา 'ระบบของฉัน' บทที่หนึ่งเกี่ยวกับความสำคัญของศูนย์และทำไมคุณควรครองมัน เหตุผลง่าย ๆ คือชิ้นส่วนของคุณมีความเป็นไปได้ที่จะเคลื่อนที่ต่อไปได้โดยตรงเมื่ออยู่ในใจกลางซึ่งทำให้ผู้เล่นมีพลังมากขึ้น สิ่งนี้ชัดเจนมากเมื่อมองที่ตำแหน่งต่าง ๆ ของอัศวินและการเคลื่อนไหวครั้งต่อไปของมัน (แสดงเป็นสีชมพู) บนกระดานเปล่า: วัตถุประสงค์ ประเมินจำนวนของการเคลื่อนไหวถัดไปที่อาจเกิดขึ้นโดยตรงของอัศวินบนกระดานเปล่าตามตำแหน่งของมัน ข้อมูลจำเพาะอินพุต ตำแหน่งของอัศวิน ก่อน x (คอลัมน์) แล้ว y (แถว) 0 0เป็นมุมล่างซ้าย เพื่อความง่ายฉันเปลี่ยนฉลากของกระดานหมากรุกเป็นตัวเลขเท่านั้น สำหรับตัวอย่างและกรณีทดสอบของเราเราใช้ดัชนีแบบ 0 คุณมีอิสระที่จะใช้ดัชนีแบบ 1 คุณสามารถใช้รูปแบบอินพุตที่เป็นไปได้อาเรย์อาร์กิวเมนท์ของฟังก์ชันใด ๆ ก็ได้ รายละเอียดผลผลิต จำนวนของการเคลื่อนไหวถัดไปที่อาจเกิดขึ้นโดยตรงสำหรับอัศวินบนกระดานว่าง กรณีทดสอบ 3 4 => 8 4 6 => 6 7 7 => 2 …
48 code-golf  math  chess 

30
พิมพ์จำนวนเต็มทั้งหมด
เขียนโปรแกรมหรือฟังก์ชั่นซึ่งจะสามารถพิมพ์จำนวนเต็มทั้งหมดได้เพียงครั้งเดียวโดยไม่ จำกัด เวลาและหน่วยความจำ ผลลัพธ์ที่เป็นไปได้อาจเป็น: 0, 1, -1, 2, -2, 3, -3, 4, -4, … 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -2, -3, -4, -5, -6, -7, -8, -9, 10, 11, … นี่ไม่ใช่เอาต์พุตที่ถูกต้องเนื่องจากจะไม่ระบุจำนวนลบ: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... …

30
สลับตัวอักษร
ในความท้าทายนี้คุณจะ "ย้อนกลับ" ตัวอักษรหรือแลกเปลี่ยนกับa-z z-aเรื่องนี้เป็นที่รู้จักกันทั่วไปในนามAtbash cypher เนื่องจากการแปลงนี้ทำให้ผลลัพธ์ดูเหมือนภาษาต่างประเทศบางรหัสของคุณจะต้องสั้นที่สุด ตัวอย่าง abcdefghijklmnopqrstuvwxyz zyxwvutsrqponmlkjihgfedcba Programming Puzzles & Code Golf Kiltiznnrmt Kfaaovh & Xlwv Tlou Hello, World! Svool, Dliow! สเปค อินพุตอาจมีหลายบรรทัดและจะเป็นแบบ ASCII เท่านั้น ไม่มี เพิ่มเติมช่องว่างควรจะเพิ่มการส่งออก เคสต้องได้รับการเก็บรักษาไว้ ลีดเดอร์บอร์ด แสดงตัวอย่างโค้ด var QUESTION_ID=68504,OVERRIDE_USER=40695;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var …
48 code-golf  string 

10
มินิกอล์ฟวันจันทร์ # 6: Meeesesessess upp teeexexextext
Monday Mini-Golf:ชุดของความท้าทายรหัสสั้น ๆกอล์ฟโพสต์ (หวังว่า!) ทุกวันจันทร์ เรื่องจริง1 : เมื่อวันก่อนฉันเล่นบนแท็บเล็ตของฉันเมื่อฉันมีความคิดที่จะเยี่ยมชมหน้าที่ฉันใช้บนพีซีของฉันเพื่อทดสอบจาวา หลังจากโหลดหน้าฉันเข้าโปรแกรมง่าย ๆ นี้: alert("Hello!") จากนั้นฉันก็กดปุ่มดำเนินการและรู้สึกประหลาดใจเมื่อมันบอกฉันว่ารหัสที่ฉันป้อนนั้นไม่ถูกต้อง ฉันลองดูที่กล่องข้อความและดูสิ่งนี้: alllelelerlerlertlert("Heeelelellellelloello!") อะ ??? นั่นไม่ใช่สิ่งที่ฉันป้อน! แล้วเกิดอะไรขึ้นที่นี่? ในการคิดออกฉันป้อนสองบรรทัดง่าย ๆ : abcdefg 0123456 สิ่งนี้กลายเป็น: abbbcbcbcdbcdbcdebcdebcdefbcdefbcdefgbcdefg 0112123123412345123456 ถึงตอนนี้ฉันยังไม่มีเงื่อนงำเกี่ยวกับสิ่งที่เกิดขึ้นกับตัวอักษร แต่ตัวเลขดูเหมือนง่ายกว่า เมื่อมันปรากฏออกหน้าเว็บก็ป้อนตัวอักษรตัวแรกจากนั้นทำซ้ำส่วนที่เหลือทั้งหมดในสตริงทุกครั้งที่มีการกดใหม่: 0112123123412345123456 0 1 12 123 1234 12345 123456 แต่ส่วนของตัวอักษรล่ะ? หลังจากไตร่ตรองสักครู่ฉันก็รู้ว่ามันเหมือนเดิม แต่แทนที่จะทำซ้ำแต่ละส่วนย่อยหนึ่งครั้งมันซ้ำสองครั้ง : abbbcbcbcdbcdbcdebcdebcdefbcdefbcdefgbcdefg a bb bcbc bcdbcd bcdebcde bcdefbcdef bcdefgbcdefg …
48 code-golf  string 

3
สตริงทางออกเขาวงกตสากลที่สั้นที่สุด
เขาวงกตบนตาราง N โดย N ของเซลล์สี่เหลี่ยมถูกกำหนดโดยระบุว่าขอบแต่ละด้านเป็นผนังหรือไม่กับผนัง ขอบด้านนอกทั้งหมดเป็นผนัง เซลล์หนึ่งถูกกำหนดให้เป็นจุดเริ่มต้นและเซลล์หนึ่งถูกกำหนดให้เป็นทางออกและทางออกสามารถเข้าถึงได้ตั้งแต่เริ่มต้น การเริ่มต้นและการออกจะไม่เหมือนเดิม โปรดทราบว่าทั้งการเริ่มต้นและการออกไม่จำเป็นต้องอยู่บนขอบด้านนอกของเขาวงกตดังนั้นนี่คือเขาวงกตที่ถูกต้อง: สตริงของ 'N', 'E', 'S' และ 'W' หมายถึงการพยายามย้ายทิศเหนือ, ตะวันออก, ใต้และตะวันตกตามลำดับ การเคลื่อนไหวที่ถูกบล็อกโดยกำแพงถูกข้ามโดยไม่มีการเคลื่อนไหว สตริงออกจากเขาวงกตหากใช้สตริงนั้นจากผลลัพธ์เริ่มต้นในการออกจากการเข้าถึง (ไม่ว่าสตริงนั้นจะดำเนินต่อไปหรือไม่หลังจากถึงทางออก) แรงบันดาลใจจากpuzzling.SE นี้คำถามที่xnorให้วิธีการที่พิสูจน์ได้ของการแก้ด้วยสตริงที่ยาวมากเขียนโค้ดที่สามารถค้นหาสตริงเดี่ยวที่ออกจากเขาวงกต 3 คูณ 3 การยกเว้นเขาวงกตที่ไม่ถูกต้อง (เริ่มต้นและออกในเซลล์เดียวกันหรือออกไม่สามารถเข้าถึงได้ตั้งแต่เริ่มต้น) มีเขาวงกตที่ถูกต้อง 138,172 รายการและสตริงจะต้องออกจากแต่ละรายการ ความถูกต้อง สตริงต้องเป็นไปตาม: มันประกอบด้วยตัวละคร 'N', 'E', 'S' และ 'W' เท่านั้น มันออกจากเขาวงกตที่ใช้กับถ้าเริ่มต้นเมื่อเริ่มต้น ตั้งแต่ชุดของเขาวงกตที่เป็นไปได้ทั้งหมดรวมถึงเขาวงกตแต่ละที่เป็นไปได้ที่มีจุดเริ่มต้นที่ถูกต้องในแต่ละที่เป็นไปได้นี้โดยอัตโนมัติหมายความว่าสตริงจะออกจากเขาวงกตใด ๆ จากการใด ๆเป็นจุดเริ่มต้นที่ถูกต้อง นั่นคือจากจุดเริ่มต้นที่สามารถเข้าถึงทางออกได้ การชนะ ผู้ชนะคือคำตอบที่ให้สตริงที่สั้นที่สุดและรวมถึงรหัสที่ใช้สร้างมัน หากคำตอบมากกว่าหนึ่งข้อให้สตริงที่มีความยาวสั้นที่สุดคำตอบแรกที่โพสต์ความยาวสตริงนั้นจะเป็นผู้ชนะ ตัวอย่าง …

30
พิมพ์ชิ้นเลโก้
ความท้าทายนี้คือการที่ง่ายASCII ศิลปะหนึ่ง ด้วยอินพุตสองตัวซึ่งอธิบายความสูงและความกว้างของชิ้นเลโก้คุณได้พิมพ์ภาพศิลปะ ASCII ของมัน นี่คือลักษณะของเลโก้ที่ควรจะดู: (4, 2) ___________ | o o o o | | o o o o | ----------- (8, 2) ___________________ | o o o o o o o o | | o o o o o o o o | ------------------- (4, 4) ___________ | …

6
ดับกลิ่นสตริง
Hodorเป็นตัวละครที่ช้า แต่น่ารักในเกม Game of Thrones ( เขาอยู่ในหนังสือด้วย) คำเดียวที่เขาเคยบอกว่าเป็น'Hodor' แม้จะไม่มีคำศัพท์มากมาย Hodor พูดในประโยคที่สมบูรณ์ด้วยตัวพิมพ์ใหญ่และเครื่องหมายวรรคตอนที่ถูกต้องเสมอและในความเป็นจริงสื่อความหมาย Hodor สามารถแสดงอักขระ ASCIIทั้ง 128 ตัวได้แม้ว่าจะต้องใช้ประโยคทั้งประโยคในการบอกแต่ละตัว ตัวละครแต่ละตัวมีการแสดงประโยคเดียวที่แน่นอน สตริง ASCII ถูกHodorizedโดยการแปลตัวละครทั้งหมดในสตริงให้เทียบเท่ากับประโยคประโยค Hodor ของพวกเขาจากนั้นเข้าร่วมประโยคทั้งหมด เนื่องจากอักขระทุกตัวจับคู่กับประโยคที่ถูกต้องสตริง ASCII ทั้งหมดจึงมีการแสดง Hodorized ที่ไม่ซ้ำใคร ตัวละคร Hodorizing Hodor แบ่ง 128 อักขระที่แสดงออกได้ของเขาออกเป็น 4 ชุด 32 โดยใช้เครื่องหมายวรรคตอน 4 ประเภทที่แตกต่างกันสำหรับประโยคที่แสดงถึงตัวละคร ประโยคลงท้ายด้วย ... .ถ้ารหัสอักขระ ASCII mod 4 เป็น 0 .[newline][newline] (สำหรับย่อหน้าใหม่) หากรหัส …
48 code-golf  string 

3
สีทาผนังพื้นผิวที่สร้างโดยคอมพิวเตอร์
สีบนผนังในห้องของฉันมีพื้นผิวแบบสามมิติแบบสุ่มเกือบจะเป็นเศษส่วน: ในการท้าทายนี้คุณจะเขียนโปรแกรมที่สร้างภาพสุ่มที่ดูเหมือนว่าพวกเขาอาจเป็นส่วนหนึ่งของกำแพงของฉัน ด้านล่างฉันได้รวบรวม 10 ภาพของจุดที่แตกต่างกันบนผนังของฉัน ทั้งหมดมีแสงเดียวกันประมาณเดียวกันและทุกอย่างถูกนำไปด้วยกล้องห่างจากผนังหนึ่งฟุต เส้นขอบถูกครอบตัดอย่างสม่ำเสมอเพื่อให้มีขนาด 2048 x 2048 พิกเซลจากนั้นจะถูกปรับเป็น 512 x 512 ภาพด้านบนคือภาพ A นี่เป็นเพียงภาพขนาดย่อคลิกที่ภาพเพื่อดูขนาดเต็ม! A: B: C: D: E: F: G: H: I: J: งานของคุณคือการเขียนโปรแกรมที่ใช้จำนวนเต็มบวกจาก 1 ถึง 2 16เป็นเมล็ดสุ่มและสำหรับแต่ละค่าจะสร้างภาพที่แตกต่างซึ่งดูเหมือนว่าอาจเป็น "ภาพที่สิบเอ็ด" ของผนังของฉัน หากใครบางคนมองที่ 10 ภาพของฉันและบางส่วนของคุณไม่สามารถบอกได้ว่าเป็นคอมพิวเตอร์ที่สร้างขึ้นแล้วคุณทำได้ดีมาก! โปรดอวดรูปภาพที่คุณสร้างขึ้นบางส่วนเพื่อให้ผู้ดูสามารถเห็นได้โดยไม่ต้องเรียกใช้รหัส ฉันตระหนักว่าแสงในภาพของฉันไม่เหมือนกันอย่างสมบูรณ์ในความเข้มหรือสี ฉันขอโทษสำหรับเรื่องนี้ แต่มันเป็นสิ่งที่ดีที่สุดที่ฉันทำได้โดยไม่ต้องใช้อุปกรณ์ส่องสว่าง รูปภาพของคุณไม่จำเป็นต้องมีแสงที่เปลี่ยนแปลงได้ (แม้ว่าจะทำได้) พื้นผิวเป็นสิ่งสำคัญที่จะเน้น รายละเอียด คุณสามารถใช้เครื่องมือและไลบรารีการประมวลผลภาพ รับอินพุตในลักษณะทั่วไปที่คุณต้องการ (บรรทัดคำสั่ง stdin ตัวแปรที่ชัดเจน …

6
MS Paint มีค่าน้อยเกินไป
MS Paint เป็นตัวต่อเวลาที่ยอดเยี่ยม แต่มันก็เป็นที่รังเกียจของนักออกแบบกราฟิกส่วนใหญ่ บางทีคนอาจหมดความสนใจเพราะจานสีที่สั่นสะเทือนหรือเพราะระดับการเลิกทำที่ จำกัด ไม่ว่าจะยังคงสามารถสร้างภาพที่สวยงามได้ด้วยแปรงมาตรฐานและจานสีเริ่มต้น ท้าทาย โดยใช้เพียงแปรงเริ่มต้น (ตาราง 4x4 ไม่มีมุม) และจานสีเริ่มต้น (28 สีด้านล่าง) ความพยายามที่จะทำซ้ำภาพแหล่งที่มาโดยใช้เทคนิคที่อยู่บนพื้นฐานของการปีนเนินเขาสุ่ม ขั้นตอนวิธี ทุกคำตอบจะต้องทำตามอัลกอริธึมพื้นฐานเดียวกัน (Stochastic hillclimb) รายละเอียดสามารถ tweaked ภายในแต่ละขั้นตอน การเคลื่อนไหวถือว่าเป็นเส้นขีดของแปรง (เช่นการคลิกสี) เดาการเคลื่อนไหวครั้งต่อไป ทำการเดา (ของพิกัดและสี) สำหรับการเคลื่อนไหวถัดไป แต่คุณต้องการ อย่างไรก็ตามการเดาต้องไม่อ้างอิงอิมเมจต้นฉบับ ใช้การเดา ใช้แปรงกับภาพวาดเพื่อทำให้การเคลื่อนไหว วัดประโยชน์ของการเคลื่อนไหว โดยการอ้างอิงภาพต้นฉบับให้พิจารณาว่าการเคลื่อนไหวนั้นเป็นประโยชน์ต่อภาพวาดหรือไม่ (เช่นภาพนั้นคล้ายกับภาพต้นฉบับมากขึ้น) หากเป็นประโยชน์ให้เก็บการเคลื่อนไหวไว้มิฉะนั้นให้ยกเลิกการเคลื่อนไหว ทำซ้ำจนกระทั่งมาบรรจบกัน ไปที่ขั้นตอนที่ 1 และลองเดาต่อไปจนกว่าอัลกอริทึมจะมาบรรจบกันอย่างเพียงพอ ภาพวาดควรคล้ายกับภาพต้นฉบับ ณ จุดนี้มาก หากโปรแกรมของคุณไม่ตรงกับสี่ขั้นตอนเหล่านี้ก็อาจไม่ใช่ Hillclimb ที่สุ่ม ฉันติดแท็กเป็นประกวดความนิยมเนื่องจากเป้าหมายคือการสร้างอัลกอริทึมการวาดภาพที่น่าสนใจโดยใช้จานสีและแปรงที่มี จำกัด contraints …

7
หลีกเลี่ยงแม่น้ำ
พื้นหลัง ในการพิมพ์ตัวอักษรแม่น้ำเป็นช่องว่างที่มองเห็นได้ในบล็อกของข้อความซึ่งเกิดขึ้นเนื่องจากการจัดตำแหน่งของช่องว่างโดยบังเอิญ สิ่งเหล่านี้น่ารำคาญเป็นพิเศษเนื่องจากสมองของคุณดูเหมือนจะหยิบมันง่ายขึ้นในสายตาที่ต่อพ่วงซึ่งทำให้ตาของคุณเสียสมาธิ ยกตัวอย่างเช่นใช้บล็อกข้อความต่อไปนี้บรรทัดที่แตกจนความกว้างบรรทัดไม่เกิน82 อักขระ : Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eismod tempor incididunt ut labore et dolore maga aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate …

14
เร็วเกินไปเกินไปฟูริเยร์: กอล์ฟรหัส FFT
ใช้การแปลงฟูริเยร์อย่างรวดเร็วในตัวละครที่มีความเป็นไปได้น้อยที่สุด กฎ: ทางออกที่สั้นที่สุดชนะ สามารถสันนิษฐานได้ว่าอินพุตเป็นอาร์เรย์ 1D ที่ความยาวคือพลังของสอง คุณอาจจะใช้ขั้นตอนวิธีการที่คุณเลือก แต่การแก้ปัญหาจริงจะต้องเป็นฟูริเยร์ได้อย่างรวดเร็วแปลงไม่เพียง แต่ไร้เดียงสาแบบไม่ต่อเนื่องแปลงฟูเรีย (นั่นคือจะต้องมีค่าใช้จ่ายในการคำนวณเชิงของO(NlogN)O(Nlog⁡N)O(N \log N) ) แก้ไข: รหัสควรใช้มาตรฐานไปข้างหน้าอย่างรวดเร็วฟูริเยร์แปลงรูปแบบของการที่สามารถเห็นได้ในสมการ (3) ของบทความวุลแฟรมนี้ , ไม่อนุญาตให้ใช้ฟังก์ชัน FFT จากไลบรารีมาตรฐานหรือแพ็คเกจสถิติที่มีอยู่ก่อน ความท้าทายที่นี่คือการใช้อัลกอริทึม FFT อย่างชัดเจน

30
หารจำนวนด้วย 3 โดยไม่ใช้ตัวดำเนินการ *, /, +, -,%
การอ้างอิงคำถามนี้ใน SO (การแจ้งเตือนสปอยเลอร์!): คำถามนี้ถูกถามในการสัมภาษณ์ Oracle คุณจะหารจำนวนด้วย 3 โดยไม่ใช้ *, /, +, -,%, โอเปอเรเตอร์ได้อย่างไร หมายเลขอาจถูกเซ็นชื่อหรือไม่ได้ลงนาม งานสามารถแก้ไขได้ แต่ดูว่าคุณสามารถเขียนรหัสที่สั้นที่สุด กฎ: ดำเนินการหารจำนวนเต็มที่ต้องการ( /3) ห้ามใช้ในผู้ประกอบการที่ไม่ใช่ข้อความ-based *, /, +, -หรือ%(หรือเทียบเท่าของพวกเขาเช่น__div__หรือadd()) นอกจากนี้ยังนำไปใช้ในการเพิ่มและ decrementing ผู้ประกอบการเหมือนหรือi++ i--การใช้ตัวดำเนินการสำหรับการต่อข้อมูลสตริงและการจัดรูปแบบนั้นก็โอเค การใช้อักขระเหล่านี้สำหรับโอเปอเรเตอร์ต่าง ๆ เช่น-โอเปอเรเตอร์unary สำหรับจำนวนลบหรือ*เพื่อแทนตัวชี้ใน C ก็โอเคเช่นกัน ค่าอินพุตอาจใหญ่มาก (สิ่งที่ระบบของคุณสามารถจัดการได้) ทั้งบวกและลบ อินพุตอาจเป็น STDIN หรือ ARGV หรือป้อนด้วยวิธีอื่น สร้างรหัสที่สั้นที่สุดที่คุณสามารถทำได้ด้านบน

16
วัตถุดิบสำหรับแบตเตอรี่บงการม้า
วัตถุประสงค์ รับรายการวลีรหัสผ่านสามคำถอดรหัสพวกเขาทั้งหมด ทุกครั้งที่คุณเดาคุณจะได้รับเบาะแสในสไตล์ของMastermindโดยแสดงจำนวนอักขระที่ตรงกับรหัสผ่านและจำนวนที่อยู่ในตำแหน่งที่ถูกต้อง วัตถุประสงค์คือเพื่อลดจำนวนการเดาทั้งหมดในทุกกรณีทดสอบ วลีรหัสผ่าน จากรายการคำเริ่มต้นของระบบของฉันฉันสุ่มเลือก 10,000 คำที่แตกต่างกันเพื่อสร้างพจนานุกรมสำหรับความท้าทายนี้ คำทั้งหมดประกอบด้วยa-zเพียง พจนานุกรมนี้อยู่ที่นี่ ( ดิบ ) จากพจนานุกรมนี้ฉันสร้างวลีรหัสผ่าน 1,000 รายการซึ่งประกอบด้วยคำที่คั่นด้วยช่องว่างสามคำแต่ละคำ ( apple jacks feverตัวอย่างเช่น) แต่ละคำสามารถนำมาใช้ซ้ำได้ในแต่ละวลีรหัสผ่าน ( hungry hungry hippos) คุณสามารถค้นหารายการวลีรหัสผ่านที่นี่ ( ดิบ ) โดยมีหนึ่งรายการต่อบรรทัด โปรแกรมของคุณสามารถใช้ / วิเคราะห์ไฟล์พจนานุกรมได้ตามต้องการ คุณไม่สามารถวิเคราะห์ข้อความรหัสผ่านเพื่อเพิ่มประสิทธิภาพสำหรับรายการเฉพาะนี้ อัลกอริทึมของคุณยังควรได้รับรายชื่อวลีที่แตกต่างกัน คาดเดา ในการคาดเดาคุณส่งสตริงไปยังตัวตรวจสอบ มันควรจะกลับมาเท่านั้น : จำนวนอักขระในสตริงของคุณยังอยู่ในวลีรหัสผ่าน ( ไม่อยู่ในตำแหน่งที่ถูกต้อง) จำนวนอักขระในตำแหน่งที่ถูกต้อง หากสตริงของคุณเป็นคู่ที่สมบูรณ์แบบมันอาจส่งออกบางสิ่งที่ระบุว่า (ฉันใช้-1สำหรับค่าแรก) ตัวอย่างเช่นถ้าเป็นรหัสผ่านthe big catและคุณเดาตรวจสอบควรกลับtiger baby mauling …

25
รหัส Decathlon กอล์ฟครั้งแรก [ปิด]
งาน คู่แข่งทั้งหมดพยายามแก้ไขรายการ 10 งานต่อไปนี้: คณิตศาสตร์ อ่านจำนวนเต็มบวกnจากอินพุตและส่งคืนผลรวมของคิวบ์ของจำนวนเต็ม n ที่ไม่ใช่ลบแรก สำหรับการป้อนข้อมูลนี้ควรกลับ10 อ่านจำนวนเต็มบวกnจากการป้อนข้อมูลและคืนค่า truthy ถ้าหากว่าnเป็นเซนเนนายก อ่านรายชื่อที่ไม่ว่างเปล่าของnจำนวนเต็มจากการป้อนข้อมูลและส่งกลับมาของพวกเขาแบ่ง ถ้าnเป็นเลขคู่ให้ใช้ค่ากลางสองค่าที่น้อยลง ยกตัวอย่างเช่นค่ามัธยฐานของคือ[1 4 3 2]2 อ่านจำนวนเต็ม (บวกลบหรือ 0) หรือการแทนสตริงในฐาน 10 หรือ unary จากอินพุตและส่งกลับตัวเลขในnegabinaryโดยไม่มีเลขศูนย์นำหน้า (ยกเว้นอินพุต 0) เอาต์พุตสามารถจัดรูปแบบได้อย่างสะดวก (ตัวเลข, อาเรย์, สตริง ฯลฯ ) เชือก pneumonoultramicroscopicsilicovolcanoconiosisกลับ ตรวจสอบวันที่ปัจจุบันและส่งคืนHappy New Year!ตามความเหมาะสมตามปฏิทินเกรกอเรียน หลอกสุ่มเลือก 64 รหัสจุดที่ได้รับมอบหมายที่ไม่ซ้ำกันจาก Unicode บล็อกCJK Unified Ideographs Extension-A (U + 3400 …

30
พิมพ์หน้ายิ้ม
ความต้องการ เพื่อความท้าทายลองกำหนดหน่วย : หน่วยถูกกำหนดให้เป็นจุดใด ๆ ที่ประกอบตารางที่วาดใบหน้า (พิกเซลสำหรับหน้าจออักขระสำหรับศิลปะ ASCII ฯลฯ ) ความต้องการน้อยที่สุดสำหรับใบหน้าที่มี: ใบหน้าที่ยิ้มนั้นประกอบด้วยรูปร่างที่มีลักษณะคล้ายกับวงกลม (ไม่จำเป็นต้องสมบูรณ์แบบ) ในรัศมีใด ๆ จะต้องมีอย่างน้อย 1 หน่วยสำหรับดวงตาทั้งสองข้างและอย่างน้อย 2 หน่วยสำหรับปาก ดวงตาและปากควรอยู่ในรูปหน้า ปากสามารถปรับได้ตามที่คุณต้องการ (มีความสุขเศร้าไม่แยแส ฯลฯ ) นี่คือตัวอย่างของผลลัพธ์: 0 0 0 . . . 0 . . 0 . o o . 0 --- 0 . \_/ . 0 0 0 . …

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