Skyscraper Puzzle
This project implements the Skyscraper logic puzzle game.
Game Rules
The Skyscraper puzzle is played on an n×n grid, with each grid cell containing a skyscraper. The heights of the skyscrapers range from 1 to n. In the same row or column, height numbers cannot be repeated, meaning each row and column must contain a unique arrangement of numbers from 1 to n.
Around the grid, some numbers are marked, indicating the number of skyscrapers visible from that direction: when you observe from a certain direction, taller skyscrapers block shorter ones behind them.
Example
An example of a 4×4 Skyscraper puzzle:
1 2 3 2
1 X X X X 4
2 X X X X 1
2 X X X X 3
2 X X X X 2
3 2 1 2
Here, the numbers surrounding the grid indicate the number of skyscrapers visible from that direction, and X represents the skyscraper height to be filled in.
Quick Start
Generate Puzzles Only
If you only need to generate Skyscraper puzzle problems without testing and checking the pass rate, you can use the following command:
# Specify the range of game sizes
python scripts/skyscraper_puzzle.py --min_n 4 --max_n 5 --num 15 --output data/custom_skyscraper_puzzles.jsonl