3154. 到达第 K 级台阶的方案数
题目链接:3154. 到达第 K 级台阶的方案数
代码如下:
//参考链接:https://leetcode.cn/problems/find-number-of-ways-to-reach-the-k-th-stair/solutions/2782792/liang-chong-fang-fa-ji-yi-hua-sou-suo-zu-j227
class Solution
{
public:
int waysToReachStair(int k)
{
init();
int res=0;
for(int i=0;i<30;i++)
{
int m=(1<<i)-k;
if(0<=m&&m<=i+1)
{
res+=c[i+1][m];
}
}
return res;
}
void init()
{
for(int i=0;i<31;i++)
{
c[i][0]=c[i][i]=1;
for(int j=1;j<i;j++)
{
c[i][j]=c[i-1][j-1]+c[i-1][j];
}
}
}
private:
int c[31][31];
};