编程题
### 问题描述 在一个幻想的游戏世界中,小蓝是一名年轻而勇敢的冒险者。他踏上了一次神奇的旅程,探索着充满宝藏和挑战的迷幻之地。 在这个冒险的世界里,存在着一种特殊的力量,称为"价值之力"。这种力量源于字母的组合和运算。每个字母都有一个固定的价值,用 $w_i$ 表示。而当一些字母组成的子序列的价值和模 $k$ 的值等于该子序列的大小时,这些字母组合就会产生价值 $1$,否则就没有价值。 小蓝拥有一段长度为 $n$ 的字符串 $a$,其中的每个字母都有各自的价值。现在,他想知道通过运算后,这段字符串最后能够获得的总价值是多少。 为了计算价值,小蓝提供了以下信息: - 字符串 $a$ 的长度为 $n$。 - 字符串 $a$ 由小写字母组成。 - 给定的模数 $k$ 是整数。 - 字母的价值由 $26$ 个整数 $w_i$ 表示。 现在,小蓝需要你的帮助,设计一个算法来计算字符串所有子序列的总价值,答案对 $998244353$ 取模。 ### 输入格式 第一行输入三个整数 $n, k$( $1\le n, k\le 200$),分别表示字符串的长度、模数。 第二行输入 $26$ 个整数 $w_i$( $1\le w_i\le 10^5$),表示每个字母的价值。 第三行输入一个长度为 $n$ 的字符串 $a$,其中的每个字符都是小写字母。 ### 输出格式 输出仅一行,表示字符串所有子序列取模后的总价值。 ### 样例输入 ``` 5 4 1 4 2 3 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 abcde ``` ### 样例输出 ``` 6 ```
查看答案
赣ICP备20007335号-2