Given a 3 x n board, find the number of ways to fill it with 2 x 1 dominoes.
Following are all the 3 possible ways to fill up a 3 x 2 board.
Here is one possible way of filling a 3 x 8 board. You have to find all the possible ways to do so.
Input : 2 Output : 3 Input : 8 Output : 153 Input : 12 Output : 2131
At any point while filling the board, there are three possible states that the last column can be in:
An = No. of ways to completely fill a 3 x n board. (We need to find this) Bn = No. of ways to fill a 3 x n board with top corner in last column not filled. Cn = No. of ways to fill a 3 x n board with bottom corner in last column not filled.
Note: The following states are impossible to reach:
Note: Even though Bn and Cn are different states, they will be equal for same ‘n’. i.e Bn = Cn
Hence, we only need to calculate one of them.
Final Recursive Relations are:
- Tiling Problem
- Maximum product of bitonic subsequence of size 3
- Minimum change in given value so that it lies in all given Ranges
- Find maximum sum from top to bottom row with no adjacent diagonal elements
- Maximum repeated frequency of characters in a given string
- Maximum number of strings that can be formed with given zeros and ones
- Make all array elements divisible by a number K
- Print all possible pair with prime XOR in the Array
- Count ways to change direction of edges such that graph becomes acyclic
- Count ways to reach end from start stone with at most K jumps at each step
- Find if a point lies inside, outside or on the circumcircle of three points A, B, C
- Check if all Prime factors of number N are unique or not
- Count of strings possible by replacing two consecutive same character with new character
- Minimum value of distance of farthest node in a Graph
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. 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.