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
- Make the list non-decreasing by changing only one digit of the elements
- Count occurrences of a prime number in the prime factorization of every element from the given range
- Find two co-prime integers such that the first divides A and the second divides B
- Sum of all natural numbers from L to R ( for large values of L and R )
- Interactive Problems in Competitive Programming | Set 2
- Check if a cycle of length 3 exists or not in a graph that satisfy a given condition
- Reversing a Queue using another Queue
- Print all the permutations of a string without repetition using Collections in Java
- Maze With N doors and 1 Key
- Number of substrings that start with "geeks" and end with "for"
- Minimize the sum of the array according the given condition
- Counts Path in an Array
- Reverse even elements in a Linked List
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.