ลองเรียกรายการสตริงที่ไม่ว่างเปล่าของmesaหากเงื่อนไขต่อไปนี้มีไว้:
- แต่ละสตริงที่แสดงไม่ว่างเปล่าและใช้เฉพาะอักขระที่เกิดขึ้นในสตริงแรก
- แต่ละสตริงที่ต่อเนื่องกันจะมีความยาวหนึ่งตัวอักษรมากกว่าหนึ่งตัว
- ไม่มีสตริงในรายการเป็นsubsequenceของสตริงอื่น ๆ ในรายการ
คำว่า "mesa" มาจากการมองเห็นเช่นนี้ (โดยที่xs จะเป็นตัวอักษรต่าง ๆ ):
xx..x
xx..xx
xx..xxx
.
.
.
xx..xxx..x
NB: มันเป็นความจริงทางคณิตศาสตร์ที่มีเพียงจำนวนมากเท่านั้นที่เริ่มต้นด้วยสตริงที่กำหนด หมายเหตุ: ความแตกต่างระหว่างsubsequenceกับ substring ; เช่น 'anna' เป็นส่วนประกอบ (แต่ไม่ใช่ซับสตริง) ของ 'Banana'
ท้าทาย:
- เขียนโปรแกรมที่สั้นที่สุดที่รับสตริงอินพุตตัวอักษรผสมตัวเลขที่ไม่ว่างเปล่าและส่งออกจำนวน mesas ที่ขึ้นต้นด้วยสตริงนั้น
อินพุต (stdin):
- สตริงตัวอักษรผสมตัวเลขที่ไม่ว่าง
เอาท์พุท (stdout):
- จำนวน mesas ที่ขึ้นต้นด้วยสตริงอินพุต
เกณฑ์การให้คะแนน:
- ผู้ชนะคือโปรแกรมที่มีจำนวนไบต์น้อยที่สุด
ตัวอย่าง mesas
หนึ่งเมซ่าเริ่มต้นด้วยa:
a
หนึ่งเมซ่าเริ่มต้นด้วยaa:
aa
หลายคนเริ่มต้นด้วยab:
ab ab ab ab (and so on)
baa aaa bbb
bbba bbaa
baaaa
aaaaaa
@mellamokb - พวกมันต่างกันนะถ้าพวกมันต่างกัน เช่น
—
res
ab, ab/baa, ab/bbb, ab/bbb/bbaa, ab/bbb/bbaa/baaaa, ab/bbb/bbaa/baaaa/aaaaaaมีผายที่แตกต่างกัน
@mellamokb - คุณถามคำถามที่ดีอื่น ๆ ; เช่นจำนวนผายที่มีความยาวสูงสุดเริ่มต้นด้วยสตริงที่กำหนดและความยาวสูงสุดนั้นคืออะไร รุ่นอื่น ๆ ของคำถามเหล่านี้จะแก้ไขตัวอักษรของขนาดที่กำหนด (ขนาดตัวอักษรจะเป็นอินพุต) และจะพิจารณา mesas ทั้งหมด (นิยามใหม่โดยไม่มีเงื่อนไข # 1) ที่ใช้ตัวอักษรจากตัวอักษรที่กำหนดเท่านั้น - อีกครั้งมีเพียงจำนวน จำกัด เท่านั้น
—
res
ab,bbbเป็นเมซ่าเพียงแค่หยุดที่ระยะที่สอง ถูกต้องหรือไม่ หรือพวกเขาจะต้องทำให้นานที่สุด? นอกจากนี้หากมีการเรียบเรียงใหม่เป็นไปได้หลายของnthคำ (เช่นbaa,aba,aab) พวกเขาไม่นับทั้งหมดเป็นผายแยกต่างหากเช่นกัน (ให้แน่นอนพวกเขาทุกคนปฏิบัติตามกฎ)?