A10418 | Vanya and Label
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
While walking down the street Vanya saw a label "Hide&Seek". Because he is a programmer, he used $&$ as a bitwise AND for these two words represented as a integers in base $64$ and got new word. Now Vanya thinks of some string $s$ and wants to know the number of pairs of words of length $|s|$ (length of $s$ ), such that their bitwise AND is equal to $s$ . As this number can be large, output it modulo $10^{9}+7$ .
To represent the string as a number in numeral system with base $64$ Vanya uses the following rules:
- digits from '0' to '9' correspond to integers from $0$ to $9$ ;
- letters from 'A' to 'Z' correspond to integers from $10$ to $35$ ;
- letters from 'a' to 'z' correspond to integers from $36$ to $61$ ;
- letter '-' correspond to integer $62$ ;
- letter '\_' correspond to integer $63$ .
To represent the string as a number in numeral system with base $64$ Vanya uses the following rules:
- digits from '0' to '9' correspond to integers from $0$ to $9$ ;
- letters from 'A' to 'Z' correspond to integers from $10$ to $35$ ;
- letters from 'a' to 'z' correspond to integers from $36$ to $61$ ;
- letter '-' correspond to integer $62$ ;
- letter '\_' correspond to integer $63$ .
输入格式
The only line of the input contains a single word $s$ ( $1<=|s|<=100000$ ), consisting of digits, lowercase and uppercase English letters, characters '-' and '\_'.
输出格式
Print a single integer — the number of possible pairs of words, such that their bitwise AND is equal to string $s$ modulo $10^{9}+7$ .
输入输出样例
输入 #1
z
输出 #1
3
输入 #2
V_V
输出 #2
9
输入 #3
Codeforces
输出 #3
130653412
For a detailed definition of bitwise AND we recommend to take a look in the corresponding article in Wikipedia.
In the first sample, there are $3$ possible solutions:
1. $z&_=61&63=61=z$
2. $_&z=63&61=61=z$
3. $z&z=61&61=61=z$
In the first sample, there are $3$ possible solutions:
1. $z&_=61&63=61=z$
2. $_&z=63&61=61=z$
3. $z&z=61&61=61=z$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted