链接:https://ac.nowcoder.com/acm/contest/326/B
来源:牛客网
题目描述
winterzz1准备考4级了,现在winterzz1决定把世界上所有单词都背一遍,winterzz1发现任意一个单词最多有A个连续的元音,最多有B个连续的辅音。且单词最长长度为N,winterzz1问你在满打满算的情况他需要背多少单词???
输入描述:
首先输入一个T(T<=100),表示有T组案例,每组案例依次输入三个正整数N,A,B,N<=5000,A<=50,B<=50;
输出描述:
输出winterzz1最多需要背多少单词,结果mod(10^9+7)
示例1
输入
复制
2 2 2 2 500 20 30
输出
复制
702 175540856
备注:
元音字母为a,e,i,o,u,其余21个字母均为辅音
思路:
看到数据量,就想到了dp;然后就想状态,之前做过类似的,就是用三维:i,j,k分别表示当前是哪一位,j代表元音(0)和辅音(1),k代表,到i位为止,j个单词的连续的个数。
这样dp方程就可以推出来了: