Back
Close

Square rings

Statement
Print a grid containing concentric squares around a center point, with the following rules: 1. Each squares are separated by 1 character from each other. 2. The squares are hollow, one-character thick, and they gradually increase in size, starting from 3x3, to 7x7, 11x11, 15x15, and so on. 3. In the grid, empty spaces are represented by a space character, while spaces occupied by a square are represented by a {{#}}. 3. The program is given the size of the grid ([[width]] and [[height]]) and the coordinates of the center point of the squares ([[x]], [[y]]) as input. <<Notes:>> 1. The grid coordinates are zero-indexed, meaning that they start at {{(0, 0)}} instead of {{(1, 1)}}. 2. Positive-y values go downwards instead of upwards; the coordinate {{(0, 0)}} represents the top-left corner of the grid. 3. The center of the rings can be located outside the grid!

Input description
Line 1: Two integers [[width]] and [[height]] for the size of the grid. Line 2: Two integers [[x]] and [[y]] corresponding to the center of the squares.

Output description
[[height]] lines for each row of the grid.

Constraints
0 < [[width]], [[height]] < 128 -128 < [[x]], [[y]] < 128

Game modes
Fastest

Test cases
Simple Test
Input
7 7 3 3
Output
####### # # # ### # # # # # # ### # # # #######

Donut Validator
Input
5 5 2 2
Output
### # # ###

Asymmetrical Test
Input
8 8 6 3
Output
# ##### # # # # ### # # # # # # ### # # # ##### #

Asymmetrical 2 Validator
Input
7 7 2 2
Output
# ### # # # # ### # # ######

Rainbow Test
Input
11 6 5 5
Output
########### # # # ####### # # # # # # # ### # # # # # # # #

Asymmetrical 3 Validator
Input
14 22 8 9
Output
############## ############# # # ########### # # # # # ####### # # # # # # # # # ### # # # # # # # # # # # # ### # # # # # # # # # ####### # # # # # ########### # ############# ############## ##############

Off-grid center Test
Input
13 6 3 -4
Output
# # # ######### # # # # ########### # # #############

Off-grid center 2 Validator
Input
11 11 -1 11
Output
########### # ######### # # # ####### # # # # # ##### # # # # # # # ### # # # # # # # # # # # # # # #

Stripes Test
Input
21 11 -5 5
Output
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

Bars Validator
Input
25 25 12 49
Output
######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### #########################

Large grid Test
Input
40 16 25 8
Output
# # # # # # # # # # # # # # # # # # # # # ############### # # # # # # # # # # # # # # # # # # # # # # # # # # # ########### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ########### # # # # # # # # # # # # # # # # # # # # # # # # # # # ############### # # #

A very tall "i" Validator
Input
1 31 17 19
Output
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

Almost as much characters as CodinGame would let me have as an output Test
Input
39 25 30 4
Output
# # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ########### # # # # # # # # # # # # # # # # # # # # # # # # # ############### # # # # # # # # # # # # # # # # # # # # # ################## # # # # # # # # # # # # # # # # # # # #################### # # # # # # # # # # # # # # # # # ###################### # # # # # # # # # # # # # # # ######################## # # # # # # # # # # # # # ########################## # # # # # # # # # # # ############################ # # # # #

Exactly as much characters as CodinGame would let me have as an output Validator
Input
76 13 30 4
Output
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ########### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ############### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

Random 1 Test
Input
19 41 28 4
Output
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # #### # # # # # # # # # # # # # ###### # # # # # # # # # # # ######## # # # # # # # # # ########## # # # # # # # ############ # # # # # ############## # # # ################ # ################## ################### ################### ################### ###################

Random 4 Validator
Input
22 42 -30 -53
Output
###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ###################### ######################

Random 2 Test
Input
29 33 4 22
Output
# ########################## # # # ######################## # # # # # ###################### # # # # # # # #################### # # # # # # # # # ################## # # # # # # # # # # # ################ # # # # # # # # # # # # # ############## # # # # # # # # # # # # # # # ############ # # # # # # # # # # # # # # # # # ########## # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # ########## # # # # # # # # # # # # # # # # # # ############ # # # # # # # # # # # # # # # # ############## # # # # # # # # # # # # # #

Random 5 Validator
Input
38 21 -92 -83
Output
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ###### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ######## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ########## # # # # # # # # # # # # # # # # # # # # # # # # # # # # ############ # # # # # # # # # # # # #

Random 3 Test
Input
31 28 7 11
Output
################### # # # # # # # # # # # # # ################# # # # # # # # # # # # # # # # ############### # # # # # # # # # # # # # # # # # # # ########### # # # # # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # ########### # # # # # # # # # # # # # # # # # # # ############### # # # # # # # # # # # # # # # # ################# # # # # # # # # # # # # # # ################### # # # # # # # # # # # # ##################### # # # # # # # # # # ####################### # # # # # # # #

Random 6 Validator
Input
26 17 6 19
Output
########################## # ######################## # # # ###################### # # # # # #################### # # # # # # # ################## # # # # # # # # # ################ # # # # # # # # # # # ############## # # # # # # # # # # # # # ########### # # # # # # # # # # # # # # # # # ####### # # # # # # # #

Solution language

Solution

Stub generator input