นี่คือทับทิมศิลปะ ASCII ง่ายๆ:
___
/\_/\
/_/ \_\
\ \_/ /
\/_\/
ในฐานะนักอัญมณีสำหรับ บริษัท อัญมณี ASCII งานของคุณคือการตรวจสอบทับทิมที่เพิ่งซื้อมาใหม่และจดบันทึกเกี่ยวกับข้อบกพร่องที่คุณพบ
โชคดีที่มีข้อบกพร่องเพียง 12 ประเภทเท่านั้นที่เป็นไปได้ และซัพพลายเออร์ของคุณรับประกันว่าไม่มีทับทิมจะมีข้อบกพร่องมากกว่าหนึ่งข้อ
12 ข้อบกพร่องที่สอดคล้องกับการเปลี่ยนของหนึ่งในชั้น 12 _
, /
หรือ\
ตัวละครของทับทิมที่มีอักขระช่องว่าง ( ) ปริมณฑลด้านนอกของทับทิมไม่เคยมีข้อบกพร่อง
ข้อบกพร่องจะถูกกำหนดหมายเลขตามตัวอักษรด้านในซึ่งมีช่องว่างอยู่
ดังนั้นทับทิมที่มีข้อบกพร่อง 1 จะมีลักษณะดังนี้:
___
/\_/\
/_/ _\
\ \_/ /
\/_\/
ทับทิมที่มีตำหนิ 11 มีลักษณะดังนี้:
___
/\_/\
/_/ \_\
\ \_/ /
\ _\/
มันเป็นความคิดเดียวกันสำหรับข้อบกพร่องอื่น ๆ ทั้งหมด
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นที่รับสายทับทิมเดียวที่อาจชำรุด ควรพิมพ์หรือส่งคืนหมายเลขข้อบกพร่อง หมายเลขข้อบกพร่องคือ 0 ถ้าไม่มีข้อบกพร่อง
รับอินพุตจากไฟล์ข้อความ stdin หรืออาร์กิวเมนต์ฟังก์ชันสตริง ส่งคืนหมายเลขข้อบกพร่องหรือพิมพ์เป็น stdout
คุณอาจสันนิษฐานได้ว่าทับทิมมีการขึ้นบรรทัดใหม่ คุณไม่สามารถสันนิษฐานได้ว่ามันมีช่องว่างต่อท้ายหรือขึ้นบรรทัดใหม่
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ( ตัวนับไบต์ที่มีประโยชน์ )
กรณีทดสอบ
ทับทิมชนิดที่แน่นอน 13 ชนิดตามด้วยผลลัพธ์ที่คาดหวัง:
___
/\_/\
/_/ \_\
\ \_/ /
\/_\/
0
___
/\_/\
/_/ _\
\ \_/ /
\/_\/
1
___
/\ /\
/_/ \_\
\ \_/ /
\/_\/
2
___
/\_/\
/_ \_\
\ \_/ /
\/_\/
3
___
/\_/\
/_/ \_\
\ _/ /
\/_\/
4
___
/\_/\
/_/ \_\
\ \ / /
\/_\/
5
___
/\_/\
/_/ \_\
\ \_ /
\/_\/
6
___
/\_/\
/_/ \ \
\ \_/ /
\/_\/
7
___
/\_ \
/_/ \_\
\ \_/ /
\/_\/
8
___
/ _/\
/_/ \_\
\ \_/ /
\/_\/
9
___
/\_/\
/ / \_\
\ \_/ /
\/_\/
10
___
/\_/\
/_/ \_\
\ \_/ /
\ _\/
11
___
/\_/\
/_/ \_\
\ \_/ /
\/_ /
12