orz各位大佬,给个思路也行,代码的话两关
A国情报中心正在研究如何破解收到的密文,科学家们首先需要找出有规律的线索。
密文是一个字符串,由大小写字符、数字、问号组成,问号'?'是在信息接收过程收到了噪音干扰,可看成是任意一个大小写字符或数字。
科学家把形如大小写字符 + 数字 + 大小写字符形状的子字符串称之为线索, 例如"ABC123ddef"。
现在请你先帮助科学家计算一下,密文里一共有多少个线索,对 109+7 求余。
线索的规则:
一个子串两边是连续大小写字符段,中间是连续数字段,就成为一个线索 一个相同的线索,但子串位置不同,也称为两个线索 问号'?'可以看成是大小写或数字,比如A1?b即可看成以下三类:
A1(0..9)b,共10个
A1(a..z)b,共26+26=52个
A1(A..Z)b,共26+26=52个
于是A1?b一共有114个线索。
输入输出格式
输入格式:
第一行n,表示密文长度 第二行n个字符组成的密文
输出格式:
一个数字,表示密文里形如大小写+数字+大小写形态的线索数量
输入输出样例
输入样例1:
8 ab12cc3d
输出样例1:
6 样例1说明:ab12c, ab12cc, b12c, b12cc, cc3d, c3d,一共6个线索。
输入样例2:
4 A1?b 输出样例2:
114 样例2说明,见题目描述部分。
输入样例3:
3 ??? 输出样例3:
27040 样例3说明:位置1、3都有52种可能(大小写),位置2有10种可能(数字)。
输入样例4:
4 ???? 输出样例4:
3136640 测试点 测试点:5个测试点,每个测试点得20分。
测试限制:每个测试点时间限制1s,内存限制128M。
数据范围:
样例1-2:1<=n<=20
样例3-4:1<=n<=300, 没有问号
样例5-6:1<=n<=5000, 没有问号
样例7-8:1<=n<=100
样例9-10:1<=n<= 2×105