All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 Queen Square II (Posted on 2006-11-22)
A few days after you paint the chess board in Queen Square, an admirer invites you to the Game Park, where he has a n x n square game board set up. Some of the squares have pieces on them, but most of them are empty. The admirer wants to completely paint some adjacent empty squares such that they form the largest empty square on the game board.

Given the game board as a binary grid with 1=piece and 0=no-piece, what is an O(nē) algorithm to find the largest empty square?

(The notation O(nē) refers to the algorithm speed for large n.)

 No Solution Yet Submitted by Gamer Rating: 4.3333 (3 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
 Speedy check | Comment 1 of 4
If we preload an array LD(i,j) so that LD(i,j)= number of pieces to the left and down from the grid (i,j) cell, checking if the square from (A,B) to (C,D) is free, can be done easily: if LD(A,B)+LD(C,D)=LD(A,D)+LD(C,B), the square is free.

 Posted by Federico Kereki on 2006-11-22 13:58:48

 Search: Search body:
Forums (0)