Given N number of stairs. Also given the number of steps that one can cover at most in one leap (K). The task is to find the number of possible ways one (only consider combinations) can climb to the top of the building in K leaps or less from the ground floor.
Input: N = 5, K = 3
To reach stair no-5 we can choose following combination of leaps:
1 1 1 1 1
1 1 1 2
1 2 2
1 1 3
Therefore the answer is 5.
Input: N = 29, K = 5
Let combo[i] be the number of ways to reach the i-th floor. Hence the number of ways to reach combo[i] from combo[j] by taking a leap of i-j will be combo[i] += combo[j]. So iterate for all possible leaps, and for each possible leaps keep adding the possible combinations to the combo array. The final answer will be stored in combo[N].
Below is the implementation of the above approach.
Time Complexity: O(N*K)
Auxiliary Space: O(N)
- Count number of ways to jump to reach end
- Count number of ways to reach a given score in a game
- Count number of ways to reach destination in a Maze
- Count the number of ways to tile the floor of size n x m using 1 x m size tiles
- Minimum cost to reach the top of the floor by climbing stairs
- Count ways to reach the n'th stair
- Count ways to reach the nth stair using step 1, 2 or 3
- Count ways to reach a score using 1 and 2 with no consecutive 2s
- Value of continuous floor function : F(x) = F(floor(x/2)) + x
- Minimum number of jumps to reach end
- Minimum number of jumps to reach end | Set 2 (O(n) solution)
- Number of ways to represent a number as sum of k fibonacci numbers
- Ways to represent a number as a sum of 1's and 2's
- Number of ways to get even sum by choosing three numbers from 1 to N
- Number of ways to insert a character to increase the LCS by one
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.