CF677C.Vanya and Label
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
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 109 + 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.
瓦尼亚走在街上时,看到一个标签“Hide&Seek”。由于他是一名程序员,于是将这两个单词视作以 64 进制表示的整数,并对其执行按位与(&)运算,从而得到一个新的单词。现在瓦尼亚想到某个字符串 $ s $,并希望知道:有多少对长度为 ∣s∣(即 $ s $ 的长度)的单词,其按位与结果恰好等于 $ s $?由于该数目可能很大,请输出其对 109+7 取模的结果。
为将字符串表示为以 64 为底的进制数,瓦尼亚采用如下规则:
- 字符
'0'到'9'分别对应整数 0 到 9; - 字符
'A'到'Z'分别对应整数 10 到 35; - 字符
'a'到'z'分别对应整数 36 到 61; - 字符
'-'对应整数 62; - 字符
'_'对应整数 63。
输入格式
The only line of the input contains a single word s (1 ≤ |s| ≤ 100 000), consisting of digits, lowercase and uppercase English letters, characters '-' and '_'.
输入仅包含一行,其中有一个单词 s(1 ≤ ∣s∣ ≤ 100000),由数字、小写和大写英文字母、字符 - 和 _ 组成。
输出格式
Print a single integer — the number of possible pairs of words, such that their bitwise AND is equal to string s modulo 109 + 7.
输出一个整数——满足其按位与运算结果等于字符串 s 的单词对的数量,结果对 109+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:
- z&_ = 61&63 = 61 = z
- _&z = 63&61 = 61 = z
- z&z = 61&61 = 61 = z
关于按位与(bitwise AND)的详细定义,我们建议参考维基百科中的相应文章。
在第一个样例中,存在 3 种可能的解:
- z&_ = 61&63 = 61 = z
- _&z = 63&61 = 61 = z
- z&z = 61&61 = 61 = z
输入解题思路,AI测评打分。不知道怎么写?