Back to Practice Dashboard
Competitive ProgrammingEasy

Tiling Problem

Learn how to solve the 'Tiling Problem' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

Write a function tiling_ways(n) that returns the number of ways to tile a 2xn board using 2x1 dominoes. The dominoes can be placed vertically or horizontally.

Constraints
  • 1 <= n <= 50

Examples

Example 1
Input
tiling_ways(3)
Output
3
Explanation

For a 2x3 board, there are 3 ways: 3 vertical tiles, or 1 vertical and 2 horizontal tiles (in two configurations).

Example 2
Input
tiling_ways(4)
Output
5
Explanation

For a 2x4 board, there are 5 ways to tile it.

Need a Hint?
Define subproblem states, establish the recurrence relation, and use memoization (top-down) or tabulation (bottom-up).
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor