300702: CF133B. Unary
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Unary
题意翻译
一种叫Brainfuck的语言有一个方言叫Unary。 Brainfuck语言的程序由如下八种字符构成:"+", "-", "[", "]", "<", ">", "." 和 ","。 Brainfuck语言的程序转换成Unary首先要将给定的字符转换成二进制串: - ">" $→$ 1000, - "<" $→$ 1001, - "+" $→$ 1010, - "-" $→$ 1011, - "." $→$ 1100, - "," $→$ 1101, - "[" $→$ 1110, - "]" $→$ 1111. 然后把这些二进制串按在程序中出现的顺序连接在一起形成一个二进制数$n$,一个与上述Brainfuck程序等价的Unary程序就是$n$个$1$。 你的任务是:给你一个Brainfuck程序,求他对应的Unary程序中有多少个$1$。由于这个数可能很大,请你输出这个数$mod\space1000003$的值。题目描述
Unary is a minimalistic Brainfuck dialect in which programs are written using only one token. Brainfuck programs use 8 commands: "+", "-", "\[", "\]", "<", ">", "." and "," (their meaning is not important for the purposes of this problem). Unary programs are created from Brainfuck programs using the following algorithm. First, replace each command with a corresponding binary code, using the following conversion table: - ">" $ → $ 1000, - "<" $ → $ 1001, - "+" $ → $ 1010, - "-" $ → $ 1011, - "." $ → $ 1100, - "," $ → $ 1101, - "\[" $ → $ 1110, - "\]" $ → $ 1111. Next, concatenate the resulting binary codes into one binary number in the same order as in the program. Finally, write this number using unary numeral system — this is the Unary program equivalent to the original Brainfuck one. You are given a Brainfuck program. Your task is to calculate the size of the equivalent Unary program, and print it modulo $ 1000003 $ $ (10^{6}+3) $ .输入输出格式
输入格式
The input will consist of a single line $ p $ which gives a Brainfuck program. String $ p $ will contain between 1 and 100 characters, inclusive. Each character of $ p $ will be "+", "-", "\[", "\]", "<", ">", "." or ",".
输出格式
Output the size of the equivalent Unary program modulo $ 1000003 $ $ (10^{6}+3) $ .
输入输出样例
输入样例 #1
,.
输出样例 #1
220
输入样例 #2
++++[>,.<-]
输出样例 #2
61425