这是一个简单的ASCII艺术红宝石:
___
/\_/\
/_/ \_\
\ \_/ /
\/_\/
作为ASCII宝石公司的珠宝商,您的工作是检查新近获得的红宝石,并留下任何发现的缺陷的注释。
幸运的是,只有12种类型的缺陷是可能的,并且您的供应商保证没有任何一种红宝石会存在多个缺陷。
12个缺陷对应于更换12内中的一个的_
,/
或\
红宝石的字符与一个空格字符()。红宝石的外围永远不会有缺陷。
缺陷根据内部字符在其位置留有空格的方式编号:
因此,缺陷为1的红宝石如下所示:
___
/\_/\
/_/ _\
\ \_/ /
\/_\/
缺陷为11的红宝石如下所示:
___
/\_/\
/_/ \_\
\ \_/ /
\ _\/
其他所有缺陷也是相同的想法。
挑战
编写一个程序或函数,该程序或函数采用单个可能有缺陷的红宝石的字符串。缺陷编号应打印或退回。如果没有缺陷,则缺陷编号为0。
从文本文件,stdin或字符串函数参数获取输入。返回缺陷编号或将其打印到标准输出。
您可以假设红宝石带有尾随换行符。您可能不会假定它有任何空格或前导换行符。
以字节为单位的最短代码获胜。(方便的字节计数器。)
测试用例
13种准确的红宝石类型,紧随其后的是预期产量:
___
/\_/\
/_/ \_\
\ \_/ /
\/_\/
0
___
/\_/\
/_/ _\
\ \_/ /
\/_\/
1
___
/\ /\
/_/ \_\
\ \_/ /
\/_\/
2
___
/\_/\
/_ \_\
\ \_/ /
\/_\/
3
___
/\_/\
/_/ \_\
\ _/ /
\/_\/
4
___
/\_/\
/_/ \_\
\ \ / /
\/_\/
5
___
/\_/\
/_/ \_\
\ \_ /
\/_\/
6
___
/\_/\
/_/ \ \
\ \_/ /
\/_\/
7
___
/\_ \
/_/ \_\
\ \_/ /
\/_\/
8
___
/ _/\
/_/ \_\
\ \_/ /
\/_\/
9
___
/\_/\
/ / \_\
\ \_/ /
\/_\/
10
___
/\_/\
/_/ \_\
\ \_/ /
\ _\/
11
___
/\_/\
/_/ \_\
\ \_/ /
\/_ /
12