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

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

12
แยกเป็นตัวเลขเข้าร่วมเป็นสตริงทำซ้ำ
พิจารณากระบวนการ: การที่ไม่ใช่เชิงลบจำนวนเต็ม N. เช่น 27 แยกมันออกเป็นจำนวนเต็มN - floor(N/2)และfloor(N/2)(ครึ่ง 'ใหญ่กว่า' และ 'เล็กกว่า') แล้วเขียนตามลำดับนั้น เช่นจะกลายเป็น2714 13 การลบพื้นที่เพื่อเข้าร่วมจำนวนเต็มเป็นจำนวนเต็มใหม่ที่มีขนาดใหญ่กว่ามาก เช่นจะกลายเป็น14 131413 ทำซ้ำขั้นตอนที่ 2 และ 3 ตามจำนวนครั้งที่ต้องการ เช่น1413→การ707 706→การ707706→การ353853 353853→การ353853353853→การ ... ความท้าทายนี้เกี่ยวกับการทำสิ่งนี้ แต่ไม่เสมอไปในฐาน 10 ท้าทาย เขียนโปรแกรมที่ใช้ตัวเลขสามตัวคือ B, N และ S: B เป็นจำนวนเต็มตั้งแต่ 2 ถึง 10 ซึ่งเป็นฐานของ N (ไบนารีถึงทศนิยม) N เป็นจำนวนเต็มแบบไม่ลบเพื่อใช้กระบวนการแยกเข้าร่วม เพื่อให้การป้อนข้อมูลของผู้ใช้ง่ายขึ้นจะได้รับเป็นสตริงในฐาน B ไม่ใช่จำนวนเต็ม S เป็นจำนวนเต็มที่ไม่เป็นลบที่เป็นจำนวนครั้งที่จะทำซ้ำกระบวนการแยกเชื่อมต่อ …

1
ปัญหาสิบสองเหรียญ
พื้นหลัง ปัญหาสิบสองเหรียญเป็นปริศนาสมดุลแบบคลาสสิคที่ใช้กันทั่วไปในการสัมภาษณ์งาน ปริศนาปรากฏตัวครั้งแรกในปีพ. ศ. 2488 และปู่ของฉันถูกพ่อของฉันวางไว้เมื่อเขาขอแต่งงานกับแม่ของฉัน! ในจิ๊กซอว์มีสิบสองเหรียญซึ่งหนึ่งในนั้นคือหนักหรือเบากว่าคนอื่น ๆ (คุณไม่ทราบว่า) ปัญหาคือการใช้เครื่องชั่งสมดุลสามครั้งเพื่อตรวจสอบเหรียญที่ไม่ซ้ำกัน ในบางรูปแบบจำเป็นต้องระบุว่าเหรียญนั้นหนักหรือเบา งานที่นี่เกี่ยวข้องกับการแก้ปัญหาทั่วไปที่เกี่ยวข้องกับเหรียญnโดยใช้การชั่งน้ำหนักน้อยที่สุดในกรณีที่เลวร้ายที่สุด ไม่จำเป็นต้องระบุว่าเหรียญนั้นหนักหรือเบาเพียงแค่เหรียญเดียวเท่านั้น นอกจากนี้คุณไม่สามารถเข้าถึงเหรียญเพิ่มเติมใด ๆ ที่อยู่นอกชุดที่กำหนด (ซึ่งอยากรู้อยากเห็นสร้างความแตกต่าง) ปรากฎว่าการชั่งน้ำหนัก k เพียงพอสำหรับเหรียญมากถึง (3 ^ k-1) / 2 (ดังนั้นการชั่งน้ำหนัก 4 แบบในรูปแบบนี้สามารถจัดการได้ 13 เหรียญ) ยิ่งไปกว่านั้น (และน่าประหลาดใจ) มันเป็นไปได้ (แต่ไม่จำเป็นที่นี่) เพื่อเลือกชุดการชั่งน้ำหนักล่วงหน้าล่วงหน้าแทนที่จะมีการชั่งน้ำหนักในอนาคตขึ้นอยู่กับผลลัพธ์ที่ผ่านมา สำหรับคำอธิบายของวิธีแก้ปัญหาสองวิธีที่เป็นไปได้ดูที่เอกสารนี้และคำตอบของ Quoraนี้ งาน เขียนฟังก์ชั่นหรือโปรแกรมโดยใช้จำนวนเต็มnเป็นอินพุตผ่าน STDIN อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ฟังก์ชันซึ่งแก้ปัญหาสำหรับเหรียญnโดยใช้การชั่งน้ำหนักน้อยที่สุดในกรณีที่เลวร้ายที่สุด โปรแกรมควร: พิมพ์การชั่งน้ำหนักไปที่ STDOUT ในรูปแบบ1,2,3-4,5,6เพื่อระบุรายการเหรียญในแต่ละด้านของเครื่องชั่ง ไม่ควรพูดถึงเหรียญที่ไม่ได้ชั่งน้ำหนัก เหรียญจะถูกกำหนดหมายเลขโดยนัยจาก 1 ถึงnและไม่จำเป็นต้องพิมพ์ตามลำดับตัวเลข (เช่น2,1-3,4เดียวกับ1,2-3,4) …

6
ข้อผิดพลาดในการปัดเศษออกควบคุม
พื้นหลัง คุณเพิ่งได้รับการว่าจ้างจาก บริษัท บัญชีขนาดเล็ก โลกของการบัญชีนั้นค่อนข้างต่างกับคุณดังนั้นคุณไม่แน่ใจว่าคุณกำลังทำตามแนวทางวิชาชีพทั้งหมดหรือไม่ โดยเฉพาะอย่างยิ่งคุณไม่ทราบว่าเมื่อใดที่คุณควรปัดเศษตัวเลขเหล่านั้นทั้งหมดและไปในทิศทางใดดังนั้นเวลาส่วนใหญ่ที่คุณเพิ่งจะใช้และหวังว่าจะได้สิ่งที่ดีที่สุด อินพุต อินพุตของคุณเป็นสตริงเดี่ยวที่แสดงถึงการคำนวณอย่างง่าย +-*/มันมีตัวเลขของจำนวนเต็มไม่ติดลบบางส่วนคั่นด้วยตัวอักษร สตริงอ่านจากซ้ายไปขวาและกฎความสำคัญปกติจะถูกละเว้นดังนั้น"23+1*3/4"หมายความว่า "เริ่มต้นด้วย 23 เพิ่ม 1 คูณด้วย 3 และหารด้วย 4" ผลลัพธ์คือ 18 อินพุตจะไม่ประกอบด้วยตัวเลขที่ขึ้นต้นด้วย0(ยกเว้น0ตัวเอง) หรือหารด้วยศูนย์ เอาท์พุต ในแต่ละขั้นตอนของการคำนวณคุณสามารถปัดเศษผลลัพธ์ขึ้นหรือลงให้เป็นจำนวนเต็มที่ใกล้เคียงที่สุดหรือเก็บตามที่มันเป็น ในที่สุดคุณปัดขึ้นหรือลงเพื่อให้ได้ผลลัพธ์จำนวนเต็ม ผลลัพธ์ของคุณคือรายการจำนวนเต็มที่อาจเป็นผลมาจากการคำนวณเรียงลำดับและไม่มีการซ้ำซ้อน กฎระเบียบ คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบ "42" -> [42] "2+0+4-0" -> [6] "23+1*3/4" -> [18] "5/2" -> [2,3] "5/2+7/3*6-1" -> [17,18,19,23] "23/2/2*30-170/3" -> [-7,-6,-2,-1,0,1,3,4] "1/3*2*2*2*2*2*2" -> …

13
ค่าที่ใหญ่ที่สุดและน้อยที่สุดจากจำนวนเต็มที่ตัดแบ่ง
ปัญหานี้เกิดจากปัญหาการเขียนโปรแกรมห้าปัญหาวิศวกรซอฟต์แวร์ทุกคนควรจะสามารถแก้ไขได้ในเวลาน้อยกว่า 1 ชั่วโมงซึ่งตัวมันเองนั้นน่าสนใจในการอ่าน ปัญหาสองสามข้อแรกนั้นเล็กน้อย แต่ปัญหาที่สี่นั้นน่าสนใจกว่าเล็กน้อย รับรายการจำนวนเต็มคั่นด้วยช่องว่างเดียวบนอินพุตมาตรฐานพิมพ์ค่าที่ใหญ่ที่สุดและน้อยที่สุดที่สามารถรับได้โดยการเชื่อมต่อจำนวนเต็มเข้าด้วยกันในบรรทัดของตนเอง ตัวอย่างเช่น: การป้อนข้อมูล: 5 56 50 เอาท์พุท: 50556 56550 จุดสั่งซื้อต่างๆ: ลำดับของผลลัพธ์นั้นเล็กที่สุดแล้วก็ใหญ่ที่สุด เฉพาะค่าที่เล็กที่สุดและใหญ่ที่สุดเท่านั้นที่สามารถพิมพ์ออกมาได้ (การวนซ้ำในรูปแบบทั้งหมดและการพิมพ์ออกมานั้นไม่ถูกต้อง) จะมีจำนวนเต็มสองตัวหรือมากกว่าในรายการ เป็นไปได้สำหรับผลลัพธ์ที่ใหญ่ที่สุดและเล็กที่สุดเหมือนกัน ในกรณีของการป้อนข้อมูลควรพิมพ์5 55หมายเลข555สองครั้ง จำนวนเต็มไม่จำเป็นต้องชัดเจน 5 5เป็นอินพุตที่ถูกต้อง การนำหน้า0s บนจำนวนเต็มไม่ใช่อินพุตที่ถูกต้อง คุณจะไม่05 55จำเป็นต้องบัญชี เช่นนี้เป็นรหัสกอล์ฟรายการที่สั้นที่สุดชนะ
14 code-golf  number 

4
วาดการเดินสุ่มด้วยสแลช
เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N (ผ่าน stdin / command line / function arg) และพิมพ์หรือคืนค่าการแทนค่าสตริงของการเดินแบบสุ่มสองมิติที่มีความยาว N ก้าวยาวออกจากสแลช: / \(บวกช่องว่างและ บรรทัดใหม่สำหรับการเว้นวรรค) 2 มิติเดินสุ่มเริ่มต้นที่ต้นกำเนิดของอนันต์ขัดแตะจำนวนเต็ม จากนั้น N คูณซ้ำ ๆ ทิศทางที่สำคัญ (ขึ้น, ลง, ซ้าย, ขวา) จะถูกเลือกอย่างสม่ำเสมอโดยการสุ่มและวอล์คเกอร์เคลื่อนที่หนึ่งหน่วยในทิศทางนั้น เส้นทางที่เกิดขึ้นคือการเดินแบบสุ่ม นี่คือการเดินแบบสุ่มสำหรับ N = 6 โปรดสังเกตว่ามันเคลื่อนที่ย้อนกลับไปที่ตัวเองเมื่อถึง (-1, 3) ในการวาดด้วยสแลชเราต้องหมุนทั้งหมดตามเข็มนาฬิกา 45 ° แกนและจุดเริ่มต้นและจุดสิ้นสุดไม่ถูกวาดในเวอร์ชันสแลช / \ \ /\ การเดินที่ซับซ้อนมากขึ้นเช่นนี้ (N = 20 แม้ว่าจะไม่มีทางบอก): จะกลายเป็นสิ่งนี้: …

8
เคล็ดลับการตีกอล์ฟในพื้นที่ว่าง
คุณมีเคล็ดลับอะไรสำหรับการเล่นกอล์ฟใน Whitespace? ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟและอย่างน้อยก็ค่อนข้างเฉพาะเจาะจงกับช่องว่าง (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ

1
ค้นหาสมมาตรในกำลังสอง
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการจำนวนเต็มบวก จำนวนเต็มแต่ละจำนวนเหล่านี้แสดงความยาวด้านของสี่เหลี่ยมจัตุรัสบนระนาบ 2D แต่ละสี่เหลี่ยมสามารถเคลื่อนย้ายไปยังพิกัดจำนวนเต็มใด ๆ ในระนาบ แต่มันไม่สามารถหมุนได้และไม่สามารถซ้อนทับสี่เหลี่ยมอื่น ๆ ได้ การใช้อักขระ ASCII ที่พิมพ์ได้ที่แตกต่างกันสำหรับแต่ละตาราง (ไม่รวมพื้นที่ซึ่งใช้สำหรับความว่างเปล่า) โปรแกรม / ฟังก์ชันของคุณจำเป็นต้องพิมพ์การจัดเรียงสี่เหลี่ยมจัตุรัสใด ๆ ที่มีเส้นแนวนอนหรือแนวตั้งของสมมาตรสะท้อน หากไม่มีข้อตกลงดังกล่าวอยู่ก็ไม่ควรพิมพ์สิ่งใด สี่เหลี่ยมเป็นตัวละครที่แตกต่างกันเพื่อให้พวกเขาสามารถแยกออกจากกัน เฉพาะรูปร่างที่ทำโดยสหภาพของสี่เหลี่ยมทั้งหมดจะต้องมีความสมมาตร คุณสามารถสันนิษฐานได้ว่ารายการจะไม่มีองค์ประกอบมากกว่า 94 องค์ประกอบ (เนื่องจากมี 94 ตัวอักษร) ตัวอย่างเช่นถ้าอินพุต[2, 1, 2, 2, 2]เป็นเอาต์พุตที่เป็นไปได้คือ: DD-- DD-- Z FFPP FFPP รูปร่างนี้มีเส้นแนวนอนของสมมาตรการสะท้อนแสง ครึ่งบนและล่างของมันเป็นภาพสะท้อน นี่คือความเป็นไปได้อื่น ๆ : (โปรดทราบว่าช่องสี่เหลี่ยมไม่จำเป็นต้องสัมผัสและสามารถใช้อักขระใด ๆ ได้ตราบใดที่ไม่มีช่องสี่เหลี่ยมสองช่องที่สร้างด้วยอักขระตัวเดียวกัน) 55 55 %% %% @ …

7
การเรียงตาราง 2 ^ N คูณ 2 ^ N ด้วย Trominoes รูปตัว L
เมื่อนักเรียนได้รับการสอนครั้งแรกเกี่ยวกับเทคนิคการพิสูจน์การอุปนัยทางคณิตศาสตร์ตัวอย่างทั่วไปคือปัญหาของการเรียงตัวกันของตาราง 2 N × 2 N ที่มีรูปตัวTrominoesรูปตัว L ทิ้งไว้หนึ่งช่องว่างที่กำหนดไว้ล่วงหน้า (N เป็นจำนวนเต็มที่ไม่ใช่ค่าลบ) ฉันจะปล่อยให้คุณข้ามไปพิสูจน์ถ้าคุณยังไม่รู้ มีทรัพยากรมากมายที่กล่าวถึง งานของคุณที่นี่คือการเขียนโปรแกรมที่รับค่า N รวมถึงพิกัดของพื้นที่กริดเพื่อปล่อยให้ว่างเปล่าและพิมพ์การแทนค่า ASCII ของกริด tromino ที่เป็นผลลัพธ์ ตัวละครOจะเติมเต็มพื้นที่ว่างและการหมุนของ tromino ของเราทั้ง 4 จะมีลักษณะดังนี้: | +- | -+ -+ | +- | (ใช่มันอาจจะไม่ชัดเจนที่+จะไปกับที่-และ|สำหรับการเตรียมการบางอย่าง แต่ที่ ok.) โปรแกรมของคุณจะต้องทำงานกับ N = 0 (สำหรับ 1 × 1 grid) อย่างน้อย N = 8 (สำหรับ …

3
เลิกรวมรายการ
บทนำ พวกคุณส่วนใหญ่คุ้นเคยกับอัลกอริทึมการเรียงแบบผสานสำหรับการเรียงลำดับรายการตัวเลข เป็นส่วนหนึ่งของอัลกอริทึมหนึ่งเขียนฟังก์ชันตัวช่วยที่เรียกmergeว่ารวมสองรายการที่เรียงลำดับไว้ในรายการที่เรียงลำดับหนึ่ง ใน pseudocode คล้าย Python ฟังก์ชั่นมักจะมีลักษณะดังนี้: function merge(A, B): C = [] while A is not empty or B is not empty: if A is empty: C.append(B.pop()) else if B is empty or A[0] ≤ B[0]: C.append(A.pop()) else: C.append(B.pop()) return C ความคิดที่จะให้ popping ขนาดเล็กขององค์ประกอบแรกของAและจนทั้งสองรายการที่ว่างเปล่าและรวบรวมผลการลงไปB Cถ้าAและมีทั้งที่เรียงแล้วเพื่อให้เป็นBC ตรงกันข้ามถ้าCเป็นรายการที่เรียงลำดับและเราแยกมันออกเป็นสอง subsequences AและBแล้วAและยังมีการเรียงลำดับและB …

4
การเขียนโปรแกรมแบบเกลียว
เขียนฟังก์ชั่นที่มีชื่อหรือโปรแกรมที่รับจำนวนเต็ม N ตัวเดียวและพิมพ์ (ไปยัง STDOUT) หรือส่งคืน (เป็นสตริง) แถบ N แรกของเกลียวด้านล่างเริ่มต้นด้วยแถบแนวตั้งตรงกลางและหมุนวนตามเข็มนาฬิกาออกไปด้านนอก _______________ / _____________ \ / / ___________ \ \ / / / _________ \ \ \ / / / / _______ \ \ \ \ / / / / / _____ \ \ \ \ \ / / / / …

2
ICS Maritime Flag ตัวอักษร
เรือธง ใช้รหัสสากลของตัวอักษรสำหรับการสื่อสารโดยเฉพาะอย่างยิ่งสำหรับสัญญาณคงที่ ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่จะใช้สตริงจาก STDIN หรือเป็นอาร์กิวเมนต์และแสดงข้อความที่เกี่ยวข้องในตัวอักษรธง ICS หากภาษาของคุณไม่ปรากฏขึ้นที่หน้าจอการบันทึกลงไฟล์นั้นเป็นที่ยอมรับ โปรแกรมหรือการทำงานของคุณจะสนับสนุนตัวอักษรAZในด้านบนและกรณีที่ต่ำกว่าบวกอวกาศและนิวไลน์ พฤติกรรมกับตัวละครอื่น ๆ ไม่ได้กำหนด จอแสดงผลต้องมีขนาดใหญ่พอที่จะ สามารถแสดงผลได้อย่างน้อย 8 ธงในแนวนอนและ 6 ธงในแนวตั้ง พฤติกรรมจะไม่ได้กำหนดหากถึงขอบด้านขวาก่อนที่จะได้รับการขึ้นบรรทัดใหม่หรือหากข้อความยาวเกินกว่าที่จะพอดีกับจอแสดงผลในแนวตั้ง ตัวอักษรธงแสดงอยู่ด้านล่าง (ตัวอักษรโรมันใช้สำหรับการอ้างอิงเท่านั้นไม่จำเป็นต้องใช้ในผลลัพธ์) ขนาด ไม่มีมาตรฐานที่ตกลงกันโดยทั่วไปสำหรับขนาดของธงเหล่านี้ดังนั้นเพื่อความท้าทายนี้จะมีผลใช้บังคับ: ธงจะต้องเป็น 60x60 พิกเซลโดยมีช่องว่าง 30 พิกเซลระหว่างพวกเขาทั้งแนวนอนและแนวตั้ง หางแฉกที่ตัด A และ B ต้องมีความลึก 15 พิกเซล เส้นอื่นทั้งหมดต้องเป็นแนวนอนแนวตั้งหรือที่ 45 องศา สถานที่นั้นจะต้องอยู่ในตำแหน่งโดยแบ่งธงออกเป็นตาราง NxN ในจินตนาการของด้าน 3,4,5 หรือ 6 สี่เหลี่ยม อ้างถึงภาพด้านบน แต่สำหรับการชี้แจงเพิ่มเติม: A, E, H, K, …

4
ค้นหา axe สูงสุด + b
คุณจะได้รับรายชื่อของ (เป็นA, B ) และรายการของx คำนวณสูงสุดขวาน + Bสำหรับแต่ละx คุณสามารถสมมติa , bและxเป็นจำนวนเต็มไม่เป็นลบ โปรแกรมหรือฟังก์ชั่นของคุณจะต้องทำงานตามที่คาดไว้ (ตามแบบแผนหากโค้ดของคุณเกี่ยวข้องกับสิ่งนั้นไม่ใช่อินพุต) เวลาO ( n log n )โดยที่nคือความยาวอินพุตทั้งหมด (ผลรวมหรือความยาวสูงสุดของความยาวของทั้งสองรายการ) นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดชนะ ตัวอย่าง [[2 8] [4 0] [2 1] [1 10] [3 3] [0 4]] [1 2 3 4 5] เอาท์พุท: [11 12 14 16 20] คำอธิบาย: 11 = 1*1 …

10
สร้างชุดของพีชคณิตแบบผนวกต่อท้ายในลำดับที่เรียงตามพจนานุกรม
กำหนดลำดับความยาวของการผนวกท้ายnเพื่อเป็นการเรียงสับเปลี่ยนของตัวเลข1, 2, ..., nที่สามารถสร้างขึ้นได้โดยขั้นตอนต่อไปนี้: 1เริ่มต้นด้วยหมายเลข สำหรับหมายเลขจากแต่ละ2ที่จะnวางจำนวนนี้ไปยังจุดเริ่มต้นหรือจุดสิ้นสุดของลำดับ (ทั้งย่อหน้าหรือผนวกมันจึงชื่อของลำดับ) ตัวอย่างเช่นนี่เป็นวิธีที่ถูกต้องในการสร้างลำดับ prepend-ผนวกท้ายความยาว 4: 1 21 [beginning] 213 [end] 2134 [end] งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่จะนำตัวเลขnจาก3การ30เป็น input และพิมพ์หรือส่งคืนทั้งหมดลำดับย่อหน้า-ผนวกของความยาวnในการสั่งซื้อ lexicographical (ถ้าคุณ outputting สตริงและรายการไม่ได้ตัวเลขดังกล่าวข้างต้น 9 จะเป็นตัวแทน เป็นตัวอักษรa-uเพื่อรักษาความยาวสตริง) ตัวอย่างเช่นนี่คือลำดับสำหรับn = 4: 1234 [RRR] 2134 [LRR] 3124 [RLR] 3214 [LLR] 4123 [RRL] 4213 [LRL] 4312 [RLL] 4321 [LLL] โดยทั่วไปมี 2 n-1nพีชคณิตย่อหน้า-ผนวกของความยาว คุณไม่สามารถใช้ฟังก์ชั่นการเรียงลำดับในภาษาของคุณในรหัสของคุณ …

6
สร้างสี่เหลี่ยมผืนผ้าจากสเปค
บทนำ ความท้าทายนี้ได้รับแรงบันดาลใจจากGrimeซึ่งเป็นภาษาจับคู่รูปแบบ 2D ของฉัน โดยทั่วไปคุณจะได้รับ "ไวยากรณ์" ที่อธิบายกริดสองมิติของตัวอักษรและงานของคุณคือการสร้างกริดตามไวยากรณ์ นอกจากนี้ตารางควรมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ในแง่อ่อน อินพุต ข้อมูลของคุณเป็นสตริงที่มีอักขระตัวพิมพ์เล็ก ASCII และสัญลักษณ์และ| -เพื่อความเรียบง่ายอินพุตไม่มีอักขระตัวพิมพ์เล็กซ้ำ ๆ สตริงเป็นข้อมูลจำเพาะสำหรับคลาสของกริดสี่เหลี่ยมของอักขระและแยกวิเคราะห์จากซ้ายไปขวาโดยใช้สแต็กดังนี้ กำหนดอักขระตัวพิมพ์เล็กcกดไปที่สแต็กm×nกริดของอักขระcสำหรับใด ๆm, n ≥ 1สำหรับการใด ๆ ได้รับท่อ|, pop สองกริดAและBจากสแต็ค ( Bอยู่ชั้นบนสุด) และผลักดันตารางABได้โดยการเชื่อมโยงไปทางขวาของB Aสิ่งนี้ต้องการAและBมีความสูงเท่ากัน ได้รับยัติภังค์-, pop สองกริดAและBจากสแต็ค ( Bอยู่ชั้นบนสุด) และผลักดันตารางA/Bได้โดยการเชื่อมโยงที่ด้านล่างของB Aสิ่งนี้ต้องการAและBมีความกว้างเท่ากัน รับประกันได้ว่าสำหรับตัวเลือกบางอย่างmและnทำในระหว่างกระบวนการแยกวิเคราะห์ (ซึ่งอาจแตกต่างกันสำหรับตัวอักษรแต่ละตัว), ข้อกำหนดการป้อนข้อมูลอย่างถูกต้องอธิบายสี่เหลี่ยมผืนผ้าบางอย่างซึ่งถูกทิ้งไว้บนกองในตอนท้าย เอาท์พุต เอาต์พุตของคุณเป็นตารางสี่เหลี่ยมของอักขระที่ระบุโดยอินพุต กริดต้องมีขนาดเล็กที่สุดในแง่ที่ว่าการลบแถวหรือคอลัมน์ใด ๆ จะทำให้มันไม่ถูกต้อง คุณสามารถส่งคืนสตริงที่คั่นด้วยการขึ้นบรรทัดใหม่ (โดยมีหรือไม่มีการขึ้นบรรทัดใหม่), อาร์เรย์ของอักขระ 2 มิติหรืออาร์เรย์ของสตริงแล้วแต่จำนวนใดจะเป็นรูปแบบที่สะดวกที่สุด โปรดทราบว่าคุณไม่จำเป็นต้องดำเนินการอินพุตตามที่อธิบายไว้ข้างต้น สิ่งสำคัญเพียงอย่างเดียวคือผลลัพธ์ของคุณถูกต้อง …

6
เคล็ดลับสำหรับการเล่นกอล์ฟใน> <> (ปลา)
เนื่องจากฉันได้เห็นมากกว่า&gt; &lt;&gt;การส่งที่ลอยไปรอบ ๆ เมื่อเร็ว ๆ นี้ฉันคิดว่ามันเป็นความคิดที่ดีที่จะมีหน้าเคล็ดลับ โปรดติดหนึ่งเคล็ดลับต่อโพสต์เว้นแต่ว่าจะมีความเกี่ยวข้องอย่างใกล้ชิด Python ล่ามอย่างเป็นทางการ ล่ามออนไลน์ (มีบั๊กบางตัว แต่ดีสำหรับกรณีส่วนใหญ่)
14 code-golf  tips 

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