题目描述:
小明很讨厌爬楼梯。每次回家的时候,小明都要爬过那长长的(至少对刚刚6岁的小明来说)n阶楼梯(1 < n <= 500),回到温暖的家。经过长时间的总结,小明发现一步上ki阶楼梯(0 < i <= s, 0 < ki <= 30)的时候,会比较省力气,这样的ki一共有s(1 <= s <= 10)种。小明当然想省点力气好回家做作业。小明很想知道自己要从一楼回到家一共有多少种省力的爬法。
输入:
第1行:两个整数n s
第2行:s个整数k1 k2 … ks
输出:
第1行:一个整数m,省力的上楼回家的方法数。(保证m < 2^31)
样例输入:
5 2
2 3
样例输出:
2
样例解释:
每次上2阶或每次上3阶会比较省力。要上5阶的楼梯,有2种上法:先上2阶,再上3阶和先上3阶,再上2阶。其他的方法都不能准确地上到第5层台阶(比如上3次2阶,虽然能上到第6阶,但超过了5阶),所以不是一个解。