#P2456. [SDOI2006] 二进制方程

    ID: 3265 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>字符串高精度2006各省省选山东进制

[SDOI2006] 二进制方程

题目描述

一个形如:

$$ \overline{X_1X_2\dots X_n}= \overline{Y_1Y_2\dots Y_m} $$

的等式称为二进制方程。

在二进制方程的两边:XiX_iYjY_j1in1\le i\le n1jm1\le j \le m)是二进制数字 0101 或者一个变量(小写字母)。每个变量都是一个有固定长度的二进制代码,他可以在等式中取代变量的位置,称这个长度为变量的长度。为了解一个二进制方程,需要给其中的变量赋予适当的二进制代码,使得我们用他们替代等式中的相应的变量后(等式的两边都变成二进制代码),这个等式成立。

编程任务:

对于每一个给出的方程,计算一共有多少组解。

输入格式

输入共四行。

第一行:kk,代表变量的个数,规定使用小写英文字母中的前 kk 个字母作为变量(如 k=5k=5,则变量有 a,b,c,d,ea,b,c,d,e)。

第二行:kk 个正整数,中间用一个空格隔开,依次代表 kk 个变量的长度。

第三行:等式左边的表达式。

第四行:等式右边的表达式。

输出格式

一个数,代表等式中出现的变量共有多少组解。

2
4 2
1b1
a

4
5
4 2 4 4 2
1bad1
acbe

16

提示

样例一解释

一共有 44 组解,如下所示:

  1. a=1001a=1001b=00b=00

  2. a=1011a=1011b=01b=01

  3. a=1101a=1101b=10b=10

  4. a=1111a=1111b=11b=11

样例二解释

k=5k=5,所以变量有:a,b,c,d,ea,b,c,d,e,长度分别为:4 2 4 4 24\space 2\space 4\space 4\space2。等式是:1bad1=acbe\overline{1bad1}=\overline{acbe}

所以输出 1616,即变量 a,b,c,d,ea,b,c,d,e 共有 1616 组解。

数据范围

k26k\le 26,因为变量最多有 2626 个(2626 个英文小写字母)。

等式的每一端的数字和变量的长度之和不超过 1000010000