5897: 日本式算盘

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:6 通过:5

题目描述

索罗班由一定数量的杆组成,每根杆包含五个珠子。我们将假设杆是水平线。每根杆上的一个珠子(最左边的那个)与其他珠子由一个条形(推算条)隔开。这个珠子叫做go-dama,另外四个是ichi-damas。每根杆负责表示从 0 到 9 的一位数字。我们可以通过以下简单的算法获得数字的值:

将数字的值设置为 0

如果 go-dama 向右移动,则添加 5。

加上向左移动的一畑数量。

 

因此,图片上的上杆显示数字 0,中间的杆显示数字 2,下面的杆显示数字 7。我们将考虑顶部杆表示数字的最后一个十进制数字,因此图片显示数字 720。

编写程序,以 Soroban 显示给定数字 n 的方式打印。

You know that Japan is the country with almost the largest 'electronic devices per person' ratio. So you might be quite surprised to find out that the primary school in Japan teaches to count using a Soroban − an abacus developed in Japan. This phenomenon has its reasons, of course, but we are not going to speak about them. Let's have a look at the Soroban's construction.

 Soroban consists of some number of rods, each rod contains five beads. We will assume that the rods are horizontal lines. One bead on each rod (the leftmost one) is divided from the others by a bar (the reckoning bar). This single bead is called go-dama and four others are ichi-damas. Each rod is responsible for representing a single digit from 0 to 9. We can obtain the value of a digit by following simple algorithm:
  • Set the value of a digit equal to 0.
  • If the go-dama is shifted to the right, add 5.
  • Add the number of ichi-damas shifted to the left.
Thus, the upper rod on the picture shows digit 0, the middle one shows digit 2 and the lower one shows 7. We will consider the top rod to represent the last decimal digit of a number, so the picture shows number 720.
Write the program that prints the way Soroban shows the given number n.
Input
The first line contains a single integer n (0≤n<109).
Output
Print the description of the decimal digits of number n from the last one to the first one (as mentioned on the picture in the statement), one per line. Print the beads as large English letters 'O', rod pieces as character '-' and the reckoning bar as '|'. Print as many rods, as many digits are in the decimal representation of number n without leading zeroes. We can assume that number 0 has no leading zeroes.
Examples
Input
2
Output
O-|OO-OO
Input
13
Output
O-|OOO-O
O-|O-OOO
Input
720
Output
O-|-OOOO
O-|OO-OO
-O|OO-OO

输入格式

第一行包含单个整数 n (0≤n<10^9)。

输出格式

打印数字n的小数位数说明,从最后一位到第一位(如报表中图片所示),每行一位。将珠子打印为大英文字母“O”,杆件打印为字符“-”,计算条打印为“|”。打印尽可能多的杆,
因为在数字n的十进制表示中有许多数字,没有前导零。我们可以假设数字0没有前导零。

输入1:

2

输出1:

O-|OO-OO

输入2:

13

输出2:

O-|OOO-O

O-|O-OOO

输入3:

720

输出3:

O-|-OOOO

O-|OO-OO

-O|OO-OO

输入样例 复制

2

输出样例 复制

O-|OO-OO

分类标签