ความท้าทายนี้เป็นรางวัลจากNinjaBearMonkeyในการชนะBlock Building Bot Flocksของฉัน! ท้าทายด้วยการส่งอัศวินดำ ขอแสดงความยินดี NinjaBearMonkey!
ความท้าทายที่นี่ค่อนข้างง่าย แต่มีวิธีการที่เป็นไปได้หลากหลาย เรื่องราวดังกล่าวเกิดขึ้นในโลกแห่งภาพสามมิติที่มีสิ่งมีชีวิต 6 แบบ:
- นินจาตัวย่อ
N
- หมีตัวย่อ
B
- ลิงตัวย่อ
M
- NinjaBears โดยย่อ
NB
- BearMonkeys ตัวย่อ
BM
- NinjaBearMonkeys ย่อ
NBM
( NinjaBearMonkeyเป็นประเภทสุดท้ายที่ทรงพลังที่สุด)
งานของคุณคือการสำรวจสำมะโนประชากรของสิ่งมีชีวิตเหล่านี้เมื่อพวกมันเรียงตัวกันทีละตัวเช่นเมื่อตัวย่อของสตริงเรียงต่อกัน ข้อแม้คือคุณต้องแน่ใจว่าจะไม่นับส่วนต่าง ๆ ของสิ่งมีชีวิตบางอย่างว่าเป็นสิ่งมีชีวิตที่แยกจากกันซึ่งมีลักษณะคล้ายกัน สิ่งมีชีวิตจะเข้าแถวเช่นนี้:
- ตัวอย่างใด ๆ
NBM
คือ 1 NinjaBearMonkey และสิ่งมีชีวิตอื่น ๆ 0 รายการ - ตัวอย่างที่
NB
ไม่ได้ตามมาM
คือ 1 NinjaBear และสิ่งมีชีวิตอื่น ๆ 0 รายการ - อินสแตนซ์ใด ๆ ที่
BM
ไม่ได้นำหน้าด้วยN
คือ 1 BearMonkey และสิ่งมีชีวิตอื่น ๆ 0 รายการ - มิฉะนั้นอินสแตนซ์ของ
N
,B
และM
เป็นนินจาเดียว, หมีและลิงตามลำดับ
บรรทัดถูกอ่านจากซ้ายไปขวา
ตัวอย่างเช่นในสายของสิ่งมีชีวิตNBMMBNBNBM
มี 0 Ninjas, 1 Bear, 1 Monkey, 1 NinjaBear, 0 BearMonkeys และ 2 NinjaBearMonkeys
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในสายของตัวละครN
, B
และM
, และพิมพ์หรือผลตอบแทนหลายวิธีของแต่ละ 6 ประเภทของสิ่งมีชีวิตที่มีอยู่ในนั้น
ผลลัพธ์ควรมีแบบฟอร์ม
#N #B #M #NB #BM #NBM
ด้วยจำนวนสิ่งมีชีวิตที่เกี่ยวข้องแทนที่แต่ละ#
สัญญาณ ต้องแสดงจำนวนทั้งหมด 6 รายการคั่นด้วยช่องว่างแม้ว่าจะเป็น 0 อย่างไรก็ตามอาจอยู่ในลำดับใดก็ได้ (เช่น#NBM
มาก่อน)
นอกจากนี้:
- สายป้อนเพียงจะมีตัวละคร
N
, และB
M
- หากสตริงที่ว่างเปล่าเป็นอินพุตแล้วจำนวนทั้งหมดเป็น 0
- เอาท์พุทอาจมีทางเลือกชั้นนำและ / หรือพื้นที่ต่อท้ายและ / หรือขึ้นบรรทัดใหม่ต่อท้ายเดียว
การส่งที่สั้นที่สุดในหน่วยไบต์ชนะ
ตัวอย่าง
อินพุต: NB
เอาต์พุต:0N 0B 0M 1NB 0BM 0NBM
อินพุต: NBM
เอาต์พุต:0N 0B 0M 0NB 0BM 1NBM
อินพุต: NBMMBNBNBM
(ตัวอย่างจากด้านบน)
เอาต์พุต:0N 1B 1M 1NB 0BM 2NBM
อินพุต: MBNNBBMNBM
เอาต์พุต:1N 1B 1M 1NB 1BM 1NBM
อินพุต: NNNMNBMMBMMBMMMNBMNNMNNNBNNNBNBBNBNMMNBBNBMMBBMBMBBBNNMBMBMMNNNNNMMBMMBM
เอาต์พุต:17N 6B 14M 5NB 8BM 3NBM
NBMNBM
จะเป็นการป้อนข้อมูลที่ถูกต้องสมบูรณ์แบบ อ่านจากซ้ายไปขวามี 2 NinjaBearMonkeys อย่างชัดเจน