คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

9
คำนวณแฮช CRC32
เครดิต ความท้าทายนี้มาจาก@miles สร้างฟังก์ชันที่คำนวณแฮช CRC32 ของสตริงอินพุต อินพุตจะเป็นสตริง ASCII ของความยาวใด ๆ เอาต์พุตจะเป็นแฮช CRC32 ของสตริงอินพุตนั้น คำอธิบาย อัลกอริทึมของ CRC32 และ CRC อื่น ๆ นั้นมีความเหมือนกันดังนั้น CRC3 เท่านั้นที่จะแสดงที่นี่ ก่อนอื่นคุณมีพหุนามกำเนิดซึ่งจริงแล้วเป็นจำนวนเต็ม 4 บิต [n + 1] (จะเป็น 33 บิตใน CRC32) 1101ในตัวอย่างนี้พหุนามกำเนิดคือ 00010010111100101011001101จากนั้นคุณจะมีสตริงที่จะถกกันซึ่งในตัวอย่างนี้จะเป็น 00010010111100101011001101|000 (1) append three [n] "0"s 1101 (2) align with highest bit 00001000111100101011001101|000 (3) XOR (1) …

16
กลุ่มที่เล็กที่สุดในอาเรย์
บทนำ ลองสังเกตอาร์เรย์ต่อไปนี้: [1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1] กลุ่มประกอบด้วยตัวเลขเดียวกันติดกัน ในอาร์เรย์ด้านบนมี 5 กลุ่มที่แตกต่างกัน: [1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1] 1, 1, 1 2, 2 1, 1, 1, 1 2, 2, 2 1, 1, …

16
สตริงย่อยที่ไม่ซ้ำกันสั้นที่สุด
รับ (บน STDIN เป็นอาร์กิวเมนต์บรรทัดคำสั่งหรือเป็นอาร์กิวเมนต์ฟังก์ชัน) สองสตริงที่ไม่ว่างที่แตกต่างกันค้นหาและส่งกลับสตริงย่อยสั้นที่สุดของสตริงแรกซึ่งไม่ได้เป็นสตริงย่อยของที่สอง หากไม่มีซับสตริงดังกล่าวอยู่คุณสามารถส่งคืนสตริงว่างส่งคืนสตริงใด ๆ ที่ไม่ใช่สตริงย่อยของสตริงต้นฉบับหรือส่งข้อยกเว้น หากคุณกลับมาจากฟังก์ชั่นคุณอาจคืนค่าเป็นโมฆะ (หรือไม่ได้กำหนดไม่มี ฯลฯ ) ในกรณีนี้ หากมีการเชื่อมโยงสตริงย่อยหลายรายการในระยะเวลาอันสั้นคุณสามารถส่งคืนค่าใดก็ได้ สตริงสามารถประกอบด้วยอักขระ ASCII ที่พิมพ์ได้ อินพุตที่กำหนดบน STDIN จะถูกกำหนดด้วยหนึ่งสตริงในแต่ละบรรทัด ตามคำขอของคุณอาจเพิ่มบรรทัดว่างหนึ่งบรรทัดที่ส่วนท้ายของอินพุต นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่ถูกต้องที่สุดจะเป็นผู้ชนะ บางกรณีทดสอบ INPUT: STRING ONE STRING TWO เอาท์พุท: E INPUT: A&&C A&$C ผลลัพธ์ที่ถูกต้อง: && &C INPUT: (สตริง 80 ตัวอักษรสองตัวที่สร้างแบบสุ่ม) QIJYXPYWIWESWBRFWUHEERVQFJROYIXNKPKVDDFFZBUNBRZVUEYKLURBJCZJYMINCZNQEYKRADRYSWMH HAXUDFLYFSLABUCXUWNHPSGQUXMQUIQYRWVIXGNKJGYUTWMLLPRIZDRLFXWKXOBOOEFESKNCUIFHNLFE ผลลัพธ์ที่ถูกต้องทั้งหมด: AD BJ BR CZ DD EE ER …
14 code-golf  string 

6
ตัวเลข ASCII Art ของชาวมายัน
ความท้าทายนี้ง่ายมาก กำหนดตัวเลขให้ส่งออกการแทนค่า ASCII-art ของตัวเลขโดยใช้ระบบตัวเลขฐานมายา 20 ระบบมายาคืออะไร Mayans ใช้ฐาน 20 เพื่อเก็บตัวเลขดังนั้นตำแหน่งแรกคือตำแหน่ง1ของสถานที่ถัดไป20จากนั้นตามด้วย400s เป็นต้น ดังนั้นตัวเลขของชาวมายัน1อยู่1ในฐาน 10 แต่10จริง ๆ แล้ว20อยู่ในฐาน 10 207อยู่807ในฐาน 10 เป็นต้น 0และพวกเขาเป็นตัวแทนของตัวเลขของพวกเขาเป็นสัญลักษณ์ที่มีสัญลักษณ์พิเศษ ------------------- | | | | | | | | | | |-------------------| | | | | ------------------- นั่นคือศูนย์ของพวกเขา (อย่างน้อยครึ่ง Picascii ครึ่งอาร์ทีเอของฉันอาร์ตเนสอาร์ต) นั่นคือภาพที่แท้จริงของสัญลักษณ์มายันศูนย์ 1 นี่คือห้า: -------------------------------- | | -------------------------------- และ …

4
การสลับแรงโน้มถ่วง
ท้าทาย คุณได้รับการนำเสนอ ASCII-art ของตัวละครบนเครื่องบินเป็นวิธีป้อนข้อมูลด้วยวิธีการที่สมเหตุสมผล สิ่งนี้จะมี: [a-z]แสดงถึงอักขระที่เคลื่อนย้ายได้ จดหมายทุกฉบับจะปรากฏบนกระดานไม่เกินหนึ่งครั้ง # แสดงถึงกำแพงอสังหาริมทรัพย์ . แทนพื้นที่ว่าง ตัวอย่างเช่น: abcdef.gh#.. .......ij.#. #..#.......# ...#.#...### .#.......#q# .........### คุณจะได้รับสายอักขระที่แสดงถึงการเปลี่ยนแปลงของแรงโน้มถ่วง สิ่งนี้จะมี: > เป็นตัวแทนของการเปลี่ยนแปลงแรงโน้มถ่วงไปทางขวา < แสดงถึงการเปลี่ยนแปลงของแรงโน้มถ่วงทางซ้าย ^ แสดงถึงการเปลี่ยนแปลงของแรงโน้มถ่วงขาขึ้น v เป็นตัวแทนของการเปลี่ยนแปลงแรงโน้มถ่วงลดลง ตัวอย่างเช่น: v>^ โปรแกรมของคุณจะต้องจำลองการเปลี่ยนแปลงของแรงโน้มถ่วงตามลำดับจนกว่าตัวละครทุกตัวจะหยุดเคลื่อนไหว (พวกมันชนกำแพงหรือตัวละครอื่น) อักขระที่ "หลุดออกจากขอบแผนที่" จะถูกลบออกอย่างถาวรและอักขระสามารถ "ซ้อน" ที่ด้านบนของกันและกัน ในตัวอย่างนี้ที่เริ่มต้นมีแรงโน้มถ่วงลง ( v) เพื่อc, e, g, h, iและjตกออกจากด้านล่างของแผนที่ ตัวละครอื่น ๆ ทั้งหมดเลื่อนลงมาจนชนกำแพงจากแผนที่ดังนี้: .........#.. a..d......#. …
14 code-golf 

3
สร้างแผนภูมิวงกลม
ความท้าทายนั้นง่าย: สร้างแผนภูมิวงกลมตามจำนวนค่าอินพุต อินพุตจะเป็นรายการของตัวเลขบวกทศนิยมหรือจำนวนเต็มและเอาต์พุตจะเป็นแผนภูมิวงกลมซึ่งแต่ละค่าอินพุตจะแสดงด้วยสีแยกต่างหากและค่าเปอร์เซ็นต์นอกแต่ละพื้นที่ กฎ: สีต้องมีความแตกต่างทางสายตา (สีที่แน่นอนเป็นตัวเลือก) จะมีอย่างน้อยสองค่าสูงสุด 10 ค่า รัศมีของวงกลมจะต้องอยู่ในช่วง[100 300]พิกเซล กราฟิกแบบเวกเตอร์นั้นใช้ได้ตราบเท่าที่เอาต์พุตเริ่มต้นให้รัศมีของ[100, 300]พิกเซล ค่าร้อยละจะต้องเป็นจำนวนเต็ม ไม่มีกฎเกณฑ์ที่เข้มงวดที่จะบอกว่าจะต้องใส่ค่าเปอร์เซ็นต์ไว้อย่างไร แต่จะต้องเห็นได้ง่ายว่าเป็นพื้นที่ใด ระยะห่างระหว่างตัวละครที่ใกล้เคียงที่สุดกับขอบด้านนอกของวงกลมจะต้องอยู่ในช่วง[5, 40]พิกเซล แบบอักษรเป็นตัวเลือก พล็อตอาจมีหรือไม่มีเส้นสีดำคั่นแต่ละภูมิภาค ฟังก์ชันที่สร้างขึ้นสำหรับการสร้างแผนภูมิวงกลมเช่น MATLAB:, piePython: matplotlib.pyplot.pieและ Mathematica: PieChartไม่ได้รับอนุญาต กฎการปัดเศษแบบปกติ (ขึ้นถ้า(1.00, 0.5]ลงถ้าเป็น(0.5, 0.00)) ถ้าค่าร้อยละของชิ้นมีขนาดเล็กกว่าเอาท์พุท0.5% 0%ชิ้นจะต้องรวมอยู่ในพล็อต โปรดระบุแผนการตรวจสอบ (หรือลิงก์ไปยังล่าม) ก็เพียงพอที่จะแสดงเฉพาะพล็อตที่มี 10 ค่าอินพุต (เพื่อหลีกเลี่ยงคำตอบที่ยาวมาก) ตัวอย่าง โปรดใช้ค่าตัวอย่างด้านล่าง คุณสามารถแปลงรายการไปยังรูปแบบที่เหมาะสมโดยใช้แปลงรายการที่เป็นตัวเลขเช่นนี้27 ไบต์หนึ่งโดยjimmy23013 x = [0.3, 1.2] x = [3, 6, …

7
วาดเศษส่วนที่จัดทำดัชนี
บทนำ ในการท้าทายนี้เมทริกซ์ 2 × 2 จะถูกจัดทำดัชนีดังนี้: 0 1 2 3 เรากำหนดครอบครัวของเศษส่วนเหมือนรูปแบบF(L)ที่Lเป็น length- nรายการของดัชนีเหล่านี้และมีขนาดF(L)2n-1 × 2n-1 หากL == []แล้วคือรูปแบบที่F(L) 1 × 1# ถ้าเป็นเช่นL != []นั้นF(L)จะสร้างขึ้นดังนี้ อนุญาตPเป็นรูปแบบที่ได้รับจากการLลบองค์ประกอบแรก เวลาสี่กริดขนาดเต็มไปด้วยระยะเวลาและแทนที่ตารางดัชนีโดยมีรูปแบบ จากนั้นกาวกริดเข้าด้วยกันโดยใช้หนึ่งชั้นของแฮชระหว่างพวกเขา นี่คือไดอะแกรมสำหรับสี่กรณี:2n-1-1 × 2n-1-1.L[0]P# L[0]==0 L[0]==1 L[0]==2 L[0]==3 #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...# ...#... ...#... ####### ####### ####### ####### …

6
แทรก semi-sort ลงในอาร์เรย์ที่ไม่เรียงลำดับ
ยินดีต้อนรับสู่วันแรกของคุณที่ PPCG Inc. ในฐานะผู้ช่วยตัวเรียงลำดับเอกสารรุ่นใหม่ล่าสุดของเราคุณมีหน้าที่ตรวจสอบให้แน่ใจว่าเอกสารทั้งหมดที่เราส่งถึงคุณถูกเก็บถาวรตามลำดับตัวอักษร มันง่ายมากที่ลิงสามารถทำได้ พูดเปรียบเทียบเชิงเปรียบเทียบในขณะที่เราจ้างลิงเพื่อทำมัน คาดเดาอะไร ปรากฎว่าลิงขาดความเข้าใจในตัวอักษรของเรา อย่างไรก็ตามไม่มีเวลาที่จะแก้ไขความยุ่งเหยิงที่มีอยู่ในขณะนี้ดังนั้นเพียงแค่พยายามไม่ทำให้สถานการณ์แย่ลงโอเคไหม จากนั้นไปที่มัน! ถ้าคุณหิวก็จะมีกล้วยอยู่ข้างๆเครื่องทำน้ำเย็น โชคดี! รายละเอียดงาน อินพุต คุณจะได้รับรายการของสตริง (ไฟล์เก็บถาวร) และสตริงที่ต้องเพิ่มลงในรายการนั้น (เอกสาร) สตริงทั้งหมดจะมีตัวอักษรตัวพิมพ์ใหญ่ตัวอักษรตัวพิมพ์เล็กและช่องว่าง เงื่อนไขจะเริ่มต้นและสิ้นสุดด้วยตัวอักษรเสมอ งาน กำหนดตำแหน่งเป้าหมายของเอกสาร: ตำแหน่งที่ควรได้รับในไฟล์เก็บถาวร ตำแหน่งเป้าหมายสามารถกำหนดได้ดังนี้: สำหรับแต่ละตำแหน่ง: นับจำนวนสตริงในไฟล์เก็บถาวรก่อนตำแหน่งที่เป็นตัวอักษรก่อนหน้าเอกสาร นับจำนวนสตริงในไฟล์เก็บถาวรหลังจากตำแหน่งนั้นเรียงตามตัวอักษรหลังเอกสาร กำหนดคะแนนของตำแหน่งเป็นผลรวมของทั้งสองข้างต้นนับ ตำแหน่งเป้าหมายของเอกสารคือตำแหน่งที่มีคะแนนสูงสุด ในกรณีที่เสมอกันตำแหน่งทั้งหมดที่มีคะแนนสูงสุดจะมีผลเหมือนกันกับตำแหน่งเป้าหมาย ต้องเลือกหนึ่งรายการเท่านั้น เมื่อเรียงลำดับ: ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กจะเทียบเท่ากัน ช่องว่างมาก่อนตัวอักษร เอาท์พุต การเก็บถาวรพร้อมเอกสารที่เพิ่มเข้าไปในรูปแบบใด หรือ ตำแหน่งเป้าหมายของเอกสารในดัชนีที่ใช้ 0 หรือ 1 ตาม การประเมินผลงาน ไบต์ที่น้อยที่สุดจะชนะ! ตัวอย่าง I / O Archive: Applebuck …

5
ระบุชุดจุดที่พึงพอใจใน Arborally
ชุดจุดพอใจ arborallyเป็นชุด 2D ของจุดดังกล่าวว่าสำหรับรูปสี่เหลี่ยมผืนผ้าแกนชิดใด ๆ ที่สามารถเกิดขึ้นโดยใช้สองจุดในชุดที่เป็นมุมตรงข้ามสี่เหลี่ยมที่มีหรือสัมผัสอย่างน้อยหนึ่งจุดอื่น ๆ นี่คือคำจำกัดความที่เทียบเท่าจาก Wikipedia: จุดที่ตั้งไว้ว่ามีความพึงพอใจใน Arborally ถ้าทรัพย์สินดังต่อไปนี้: สำหรับคู่ใด ๆ ที่ไม่ได้อยู่บนเส้นแนวนอนหรือแนวตั้งเดียวกันมีจุดที่สามซึ่งอยู่ในรูปสี่เหลี่ยมผืนผ้าทอดสองจุดแรก ( ภายในหรือบนขอบเขต) ภาพต่อไปนี้แสดงให้เห็นถึงวิธีการสร้างรูปสี่เหลี่ยมผืนผ้า ชุดจุดนี้ไม่ได้รับความพึงพอใจจาก Arborally เนื่องจากสี่เหลี่ยมผืนผ้านี้ต้องมีจุดอย่างน้อยหนึ่งจุด ใน ASCII art ชุดจุดนี้สามารถแสดงเป็น: ...... ....O. ...... .O.... ...... การปรับเปลี่ยนเล็กน้อยสามารถทำให้สิ่งนี้น่าพึงพอใจทาง Arborally: ...... ....O. ...... .O..O. ...... ด้านบนคุณจะเห็นว่ารูปสี่เหลี่ยมผืนผ้าทั้งหมด (ซึ่งมีเพียงหนึ่งรูป) มีจุดอย่างน้อยสามจุด นี่คืออีกตัวอย่างหนึ่งของชุดจุดที่ซับซ้อนมากขึ้นซึ่งเป็นที่พอใจของ Arborally: สำหรับสี่เหลี่ยมใด ๆ ที่สามารถวาดซึ่งประกอบไปด้วยสองจุดสี่เหลี่ยมนั้นจะมีจุดอื่นอย่างน้อยหนึ่งจุด ความท้าทาย กำหนดตารางสี่เหลี่ยมของจุด (ซึ่งผมแทนด้วยO) และพื้นที่ว่างเปล่า (ซึ่งผมแทนด้วย.) …

2
ทำ Parser งู!
งูมีลักษณะเช่นนี้: >>>v @ ^ v ^ >>>^ v ^ v ^<<<<<<<<< งูสามารถข้ามตัวมันเองได้ในกรณีนี้: @ ^ >^>v ^<< เพื่อให้ครอสโอเวอร์มีความถูกต้องตัวละครทั้งสองข้างจะต้องเคลื่อนที่ไปในทิศทางเดียวกัน กรณีของ @ >^v ^< อาจถือว่าไม่ชัดเจนและไม่ถูกต้อง เอาท์พุทเป็นสตริงของการWASDแสดงไปจากหัวถึงหาง ( @) ให้งูที่ไม่ได้ย้อนรอยและไม่คลุมเครือคุณสามารถเขียนโปรแกรมที่จะแสดงผลสายการเคลื่อนไหวที่งูใช้ นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดชนะ! กรณีทดสอบ: (หมายเหตุ: @สามารถแทนที่ด้วยอักขระใด ๆ ที่ไม่ได้อยู่ในv^<>) การป้อนข้อมูล: >>>>v v v<< @ v ^ >>>>>^ เอาท์พุท: ddddssaassdddddww การป้อนข้อมูล: @>>v ^ v ^ v ^<<< เอาท์พุท: …

7
เปลี่ยนสตริงเป็นกังหันลม
รหัสในเว็บไซต์นี้กำลังจะหมดลงอย่างรวดเร็ว เราจำเป็นต้องลงทุนในสายการผลิตทดแทน ดังนั้นคุณต้องเขียนโปรแกรมที่ใช้สตริงและแปลงเป็นกังหันลม ความท้าทาย ลองมาดูตัวอย่างของกังหันลมแบบง่าย abcใช้สตริง เดือยbเป็นตัวละครที่ศูนย์ในกรณีนี้ เนื่องจากสตริงมีความยาว 3 ตัวอักษรเอาต์พุตทุกตัวจะถูกต้องสามบรรทัดสูงและสามตัวอักษรกว้าง นี่คือผลลัพธ์ของคุณในขั้นตอนที่ 1 (หมายเหตุช่องว่าง) abc ในการรับขั้นตอนต่อไปให้หมุนตัวละครแต่ละตัวรอบเดือยตามเข็มนาฬิกา นี่คือขั้นตอนที่ 2: a ข ค นี่คือขั้นตอนที่ 3-8: ข ค ข ค CBA ค ข ค ข ค ข และในขั้นตอนที่เก้ามันจะวนเต็มวงกลมไปยังสตริงเดิม: abc โปรดทราบว่าbอยู่ในจุดเดียวกันตลอดเวลา นี่เป็นเพราะbเป็นตัวละครสาระสำคัญ คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่รับสตริงเป็นอินพุตและพิมพ์ลำดับนี้ซ้ำ ๆ จนกว่าโปรแกรมจะปิด ชี้แจง สตริงอินพุตทั้งหมดจะมีอักขระจำนวนคี่ (เพื่อให้กังหันลมทุกอันมีเดือย) เพื่อให้การท้าทายง่ายขึ้นสตริงทั้งหมดจะมีเฉพาะตัวอักษรตัวพิมพ์ใหญ่และตัวเล็ก ผลลัพธ์จะต้องเป็นlen(input_string)อักขระที่กว้างและสูง ไม่สำคัญว่าขั้นตอนใดของลำดับที่คุณเริ่มต้นตราบใดที่คุณหมุนวนซ้ำไปเรื่อย ๆ ทดสอบเพิ่มเติม IO: เนื่องจากโพสต์ค่อนข้างยาวอยู่แล้วนี่คือลิงก์ไปยังเอาต์พุตสำหรับ …

8
แสดงตัวเลขที่มีเพียง 0-9 และสี่การดำเนินการ
คำอธิบาย Befungeเป็นโปรแกรมที่สองมิติที่ใช้สแต็ค นั่นหมายความว่าในการทำ 5 + 6 คุณเขียน56+ความหมาย: 56+ 5 push 5 into stack 6 push 6 into stack + pop the first two items in the stack and add them up, and push the result into stack (to those of you who do not know stacks, "push" just means add …

10
ฉันเดินได้กี่ก้าว
pedometer ง่ายสามารถสร้างแบบจำลองโดยลูกตุ้มที่มีสองสวิทช์ตรงข้ามด้านหนึ่งที่ x = 0 และเป็นหนึ่งในที่ x = ลิตร เมื่อลูกตุ้มสัมผัสกับสวิตช์ไกลสามารถคาดเดาความทะเยอทะยานได้ครึ่งก้าว เมื่อติดต่อสวิตช์ใกล้ขั้นตอนจะเสร็จสมบูรณ์ รับรายการเลขจำนวนเต็มแทนตำแหน่งของลูกตุ้มกำหนดจำนวนขั้นตอนเต็มที่บันทึกไว้ในเครื่องนับก้าว อินพุต จำนวนเต็มl > 0 ความยาวของแทร็ก รายการจำนวนเต็มแทนตำแหน่งลูกตุ้มของเครื่องนับก้าวในแต่ละครั้ง เอาท์พุต จำนวนขั้นตอนทั้งหมดที่วัดได้ ขั้นตอนจะดำเนินการเมื่อลูกตุ้มสัมผัสสวิตช์ไกล (x> = l) และสวิตช์ใกล้ (x <= 0) กรณีทดสอบ 8, [8, 3, 0, 1, 0, 2, 2, 9, 4, 7] 1 ลูกตุ้มทำให้สัมผัสกับสวิตช์ไกลที่ x = 8 ที่ t = 0 ทันที …

3
เส้นทางที่ยาวที่สุดบนเครื่องบิน 2d
คุณได้รับชุดค่าพิกัดอาร์บิทอล, ไม่ซ้ำกัน, 2d, จำนวนเต็มคาร์ทีเซียน: เช่น [(0,0), (0,1), (1,0)] ค้นหาเส้นทางที่ยาวที่สุดที่เป็นไปได้จากชุดพิกัดนี้โดยมีข้อ จำกัด ว่าพิกัดสามารถ "เยี่ยมชม" เพียงครั้งเดียว (และคุณไม่ได้ "กลับมา" เพื่อประสานงานที่คุณเริ่มต้น) สำคัญ: คุณไม่สามารถ "ส่งต่อ" พิกัดหรือรอบ ๆ ตัวอย่างเช่นในตัวอย่างบันทึกย่อล่าสุด (รูปสี่เหลี่ยมผืนผ้า) คุณไม่สามารถย้ายจาก D เป็น A โดยไม่ได้ไปที่ C (ซึ่งอาจเป็นการตรวจทานซ้ำ สิ่งนี้ชี้ให้เห็นโดย @FryAmTheEggman ฟังก์ชั่นอินพุต:อาร์เรย์ของพิกัดคาร์ทีเซียนแบบ 2d ฟังก์ชั่นเอาท์พุท:ความยาวสูงสุดเท่านั้น ผู้ชนะ: รหัสที่สั้นที่สุดชนะไม่มีการระงับ (ไม่ประหยัดเวลามากที่สุด) ตัวอย่าง 1 : ในกรณีนี้แสดงไว้ข้างต้นเส้นทางที่ยาวที่สุดที่ไม่มีพิกัด "เข้าชม" สองครั้งคือ A -> B -> O (หรือ …

6
ลักษณะทั่วไปของตัวย่อ
กำหนดอินพุตของรายการคำและตัวย่อของเอาต์พุตเอาต์พุตรูปแบบที่สามารถสร้างตัวย่อได้ ขอให้เรานำตัวอย่างของ potato ptao puzzle pzze เป็นตัวอย่าง (นั่นคือตัวย่อสำหรับpotatoคือptaoและตัวย่อสำหรับpuzzleคือpzze) พิจารณาวิธีการที่เป็นไปได้ที่จะได้รับจากptao วิธีการหนึ่งที่เป็นไปได้คือการใช้ครั้งแรกสามสี่และหกตัวอักษรซึ่งเราจะเรียกว่าpotato 1346แต่เนื่องจากtและoปรากฏหลายครั้งในคำว่ามีหลายวิธีที่เป็นไปได้อื่น ๆ เพื่อสร้างptaoจากpotato: 1546, และ13421542 ในทำนองเดียวกันทราบว่าpzzeสามารถสร้างขึ้นจากpuzzleกับใด ๆ ของ1336, 1346, ,1436 1446รูปแบบเดียวที่ทั้งสองตัวย่อที่มีเหมือนกันคือ1346; ดังนั้นต้องเป็นเอาต์พุตสำหรับอินพุตนี้ หากเป็นไปได้หลายรูปแบบคุณอาจส่งออกรูปแบบใดรูปแบบหนึ่งหรือทั้งหมด (อย่างน้อยหนึ่งรูปแบบ) คุณอาจคิดว่า: คำที่ป้อนและตัวย่อมีตัวอักษรพิมพ์เล็กเท่านั้น มีคู่ของคำ / ตัวย่ออย่างน้อยหนึ่งคู่ในอินพุต มันเป็นไปได้สำหรับทุกตัวย่อที่จะเกิดขึ้นจากคำที่เกี่ยวข้อง จะมีรูปแบบอย่างน้อยหนึ่งรูปแบบที่ใช้ตัวย่อทุกตัว ความยาวสูงสุดของแต่ละคำคือ 9 ตัวอักษร อินพุตอาจถูกใช้เป็นอย่างใดอย่างหนึ่งต่อไปนี้: อาร์เรย์ 2 มิติ / รายการ / อาร์เรย์ของ tuples / etc [[word, abbr], [word, abbr], ...] …
14 code-golf  string 

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