Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Problem 2026. Skyscrapers - Puzzle

Created by Richard Zapor

The Skyscraper puzzle challenge comes from Logic Masters India and Games' Concept is Puzzles.

Create an NxN matrix where each row and column contains 1:N given the constraints of View_Right, View_Left, View_Down, and View_Up. A View is the number of Skyscrapers visible the given edge location. A Zero value is No Information provided.

Input: [vr,vL,vd,vu] vectors of sizes (N,1),(N,1),(1,N),(1,N)

Output: M an NxN matrix

Example:

vr=[0 0 3 0 0]';
vL=[3 0 0 1 0]';
vd=[0 0 0 0 0];
vu=[5 2 0 0 0];
M
       5     4     2     1     3
       4     5     1     3     2
       3     2     4     5     1
       2     1     3     4     5
       1     3     5     2     4

Algorithm Discussion:

1) Create permutations H and V vectors of length N of values 1:N. (N=5) [12345;12354;...54321]
2) Calc Skyscraper count from Left and Right
3) Determine subset of SkyVectors possible for each Row and Column
4) Sort the Qty of 2*N possible solutions
5) Recursion from least to most valid SkyVectors
6) In recursion verify valid overlay or return

Tags

Problem Group

Solution Statistics

3 correct solutions 2 incorrect solutions
Last solution submitted on Dec 04, 2013