# Polyominoes

## Submit

File:
Open code-statistics:

Language is selected by the extension of the file. See the list of supported languages to know the extension of your language.

## Problem

For n in [1..7], print all fixed n-ominoes (including those containing holes) in the order determined by the algorithm of Redelmeier as presented on http://en.wikipedia.org/wiki/Polyomino .

Briefly: Start with a single square and recursively add one square at a time until reaching n. The initial square is fixed as the leftmost square of the bottom row of the polyomino. After adding a square, number any unlabelled reachable neighbors of that square according to the order (top, right, bottom, left) and then only add squares whose labels are greater than the most recently added square, in ascending order.

For example, let n=3. We start with a single square labelled 0 and then label the square above it as 1 and the square to its right as 2. On the next recursive call, we label the square above 1 as 3, the square to its right as 4, and the square to its left as 5. Thus the first two triominoes will be shaped like an uppercase L and an uppercase I. When we have finished exploring the branch at square 1 (I've skipped the description of two leaves), we will choose square 2 and label the square above it as 3 and the square to its right as 4. (Note that labels added during a recursive call are removed upon returning.) Thus the last two triominoes will be shaped like a backwards uppercase L and a dash.

-- mitchs

## Options

exec is denied

no deadline, the server will not save your submission

*NOTHING*

## Sample output:

```#

#
# ##

#
#  # ## ##  #
## # #   # ## ###

#
#             #   # # ## ##      #     #           #
#  ## ##  #   ## ## # #   # ### ## ### ## ###  #   #  ##   #
## ##  ## ### #   # # #   #  #  #  #    #   # ### ## ##  ### ####

#
#                                                   #              #            #   # # ## ##      #     #                             #                      #                                 #
#   #  #   #  ## ##           #          #                  #  #  ## ##  #    #  ## ##   # ## ## # #   # ### ## ### ## ###   #      #         #   #  ##   #           #  #  ##  #         #            #   #  ## ##   #             #
## ##  #   #  #   #  ### ##  ## ### ##   ##  ###  # # #    ### ## ##  ## ### ## ##  ## ### #   # # #   #  #  #  #    #   # ### #### ### #### ### ## ##  ### #### ### ### ##  ## ### ####  #   ##  #    ##  #  #   #  ##  ###   #    #   ##    #
##  ## ### ## ##  ##  ## ### ## ##   ###  ##   ## ### ####  #  #  #   #  #    #  #   #   # #   # # #   #  #  #  #    #   #  #   #    #    #  #   #  #   #   #    # #   #  #   #   #    # ### ### #### ##  ## ##  ## ##  ##   #### ### ###  #### #####

#
#                                                                                                                                                                                              #                                                               #                                                  #              #            #   # # ## ##      #     #                             #                      #                                                                                                                    #                                                                              #                                                                                                                  #
#                   #               #                     #   #  #  ## ##       #     #                                                 #                                         #                                             #                    #   #  #   #  ## ##           #          #                      #   #   #  #  ## ##            #          #                #  #  ## ##  #    #  ## ##   # ## ## # #   # ### ## ### ## ###   #      #         #   #  ##   #           #  #  ##  #                            #                                      #                    #                #   #  ## ##   #                 #                                 #            #  #  ## ##  #             #                             #                                    #                #   #  #  ## ##       #      #             #                                             #
#  #   #  ## ##  #    #    #   ## ##    #  #   ##  ##   #   #    ## ##  #  #   #  ### ## ### ##  ###         #      #         #            #   #  ##   #      #                      #   #   ##   #                 #                  #   ## ##   #     #  ## ##  #   #  #   #  ### ##  ## ### ##   ##  ###  # # #    #    ## ##   #  #  #   # ###   ##  ##  ###  ## ## ### # #    # ### ## ##  ## ### ## ##  ## ### #   # # #   #  #  #  #    #   # ### #### ### #### ### ## ##  ### #### ### ### ##  ## ### ### ####   #  # #    #   #   ## #             #             #   #   ##   #           #   ##  #    #   ##  #  #   #  ##  ###   #    #   #   ##         #                  #  ##    #  ##  #  #   #  ##  ###   #   #   ##   #           #   #    #   ## ##         #                  #   ## ##   #    ## ##  #  #   # ###  ##  ### ## ###   #    #   ##    #              #               #    #   ##  ##    #                #
### ##  ## ##  ## ### ##   ##  ##  ##  ###  #   #    #   # # #    #   #  #  #   #   #  #  #    #    #  ###  ### #### ### #### ##  ### ##   ### ## ##  ### #### ##   ###   ## # ##    ###  ##   ##  ###  ####  # #  # # # ## #  # #     ### ### ### #### #### ##  ## ### ## ##  ##  ## ### ## ##   ###  ##   ## ### #### ### ##  ## ### ## ##  ## ##  ###  ##  ##   ### ##  ## ### ####  #  #  #   #  #    #  #   #   # #   # # #   #  #  #  #    #   #  #   #    #    #  #   #  #   #   #    # #   #  #   #   # # #    # #### ### #### ### ###  #### ##### #### ##### #### #### ###  ### #### ##### ### ### #### ### ##  ## ##  ## ##  ##   #### ### ### ###  #### #### ##### #### ###  ### ### ####  ## ## ##  ##  ##   ## #### ###  ### #### #####  ##  #    #   #   #   ##   ##  ###  # #  #     ##  ##  ##  ###  #   #  #  #   #  #   #   #    #   #  ###  ##  ##   ###  ####  ###   #    ##   #     ##   #   #    #   ##   ###    #     #    ##     #
## ### ## ##  ## ##   ###  ##  ##  ##   ## ### ###  ### ### #### ##  ## ## ##  ##  ## ## ##   ##   ##  ###  ##  ##   ##   ## ### ### #### ##  ## ##  ##  ##    ###   ###  ###  ####   ##  ##   ##   ##    ## #### ### ###  #### #####  #   #   #   #     #  #   #  #   #  #   #   #  #   #  #    #    #    #  #   #    # #  #   #   #  #  #   #  #    #   #   #     #  #   #   #    #  #  #  #   #  #    #  #   #   # #   # # #   #  #  #  #    #   #  #   #    #    #  #   #  #   #   #    #     #  #   #   #   #    #  #    #    #   #   #    #     #    #    #     # #   #   #    #    #     #  #   #   #    # # #   #  #   #  #   #    #    # # #   #    # #  #    #     #  # # ##   #   #    #   #  #  #   #   #    #    #   #    #    #     # ### #### ### ### ### #### ### ###  #### ##### ##  ##  ##  ##   ##  ## ## ##  ## ##  ##  ##   ##  ## ##   ##  ##   ##   ##    ## # #### #### ##### ###  ### ###  ### ###  ###   ##### #### ####  ##### ######

#
#                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  #                                                                                                                                                                                                                                                                        #                                                                                                                                                                                                  #                                                               #                                                      #              #            #   # # ## ##      #     #                             #                      #                                                                                                                         #                                                                                      #                                                                                                                                                                                                                                                                                                                                                                                                                                                                       #                                                                                                                                                                                                                                                                                #                                                                                                                                                                                                                                                                                                                                                                                                                           #
#                                                                                             #                                                                       #                                                                                     #              #               #   #  #  ## ##       #     #                               #                       #                                                                                                                                                                                     #                                                                                                                                                        #                                                                                                                                                   #                                                                                             #                   #               #                         #   #  #  ## ##       #     #                                                     #                                              #                                                                              #                    #              #                    #   #  #  ## ##       #      #                                                          #                                       #                                         #                    #   #  #   #  ## ##           #          #                      #   #   #  #  ## ##            #          #                    #  #  ## ##  #    #  ## ##   # ## ## # #   # ### ## ### ## ###   #      #         #   #  ##   #           #  #  ##  #                            #                                      #                         #                #   #  ## ##   #                 #                                     #                #  #  ## ##  #                 #                                                                                                                      #                                                                                                                                                                #                                                                   #                                                       #                #   #  #  ## ##       #      #             #                                                                     #                                                                                                          #                                    #               #   #  #  ## ##       #     #             #                                             #                                                                                                              #                                                                                                                     #                                                               #                #             #   #  #  ## ##       #      #                               #                          #                                               #                                                                                                                                                                  #
#                    #                     #   #  #   #  ## ##           #          #                  #                               #   #    #   #   ## ##             #           #                   #    #   #   #    #   ##  ##                  #                 #                                    #  #  ## ##  #    #   ## ##    #  ## ##  #  #   #  ### ## ### ##  ###    #      #         #   #  ##   #           #   #   ##   #                                                          #                                 #                             #                                #            #   #  ## ##   #             #                                       #                                                                   #               #   #   ##  ##   #                #                                              #                                                    #   #   #     #   #   ## ##                  #                #                                          #  #   #  ## ##  #    #    #   ## ##    #  #   ##  ##   #   #    #   ## ##  #  #   #  ### ## ### ##  ###         #      #         #                #   #  ##   #      #                           #   #   ##   #                          #                                 #    #   #   ## ##   #     #  #  ## ##   #   #   ##  ##   #    #  ## ##  #  #   # ###  ##  ### ## ###        #      #           #                    #    #   ##    #             #            #  #  ##  #             #                    #   ## ##   #     #  ## ##  #   #  #   #  ### ##  ## ### ##   ##  ###  # # #    #    ## ##   #  #  #   # ###   ##  ##  ###  ## ## ### # #   #    # ### ## ##  ## ### ## ##  ## ### #   # # #   #  #  #  #    #   # ### #### ### #### ### ## ##  ### #### ### ### ##  ## ### ### ####   #  # #    #   #   ## #             #             #   #   ##   #                #   ##  #    #   ##  #  #   #  ##  ###   #    #   #   ##         #                      #  ##   #    #  ##  #  #   #  ##  ###  #    #   #   ##             #                            #                         #      #           #                    #    #   ##  ##    #                             #                                                        #                                       #               #   #   ##  ##   #                #                        #   #    #   #   ## ##             #                                 #   ## ##   #    ## ##  #  #   # ###  ##  ### ## ###   #    #   ##    #                   #                    #             #    #   ##  ##    #                                     #                                             #    #   #   ## ##       #                    #   ## ##    #  ## ##  #  #   #  ### ## ### ##  ###   #   #   ##   #                #               #   #   ##  ##   #                #                             #                #                         #   #   #   ## ##        #      #                               #                                                #   #   #    #   ## ##             #           #                         #   #   ## ##   #    #  ## ##   #  ## ##  #  #   # ###  ##  ### ## ###   #      #          #    #   ##    #             #  #  ##  #              #                    #    #   ##  ##    #                     #                                                   #                                            #                    #    #   #   ##  ##         #        #               #                                                      #
#    #   ## ##   #     #  #   ##  ##   #   #    ## ##  #   #  #   #  ### ##  ## ### ##   ##  ###  # # #     #    ##  ##     #    #    #     ## ##    #   #   #   #  ###   ##  ##  ###  ##  ##  ###  # #     #  ##  ##   #   #    #   #    #   ###  ##  ##   ##  ### ##   ##    ##   ###   #    # # #    #    #     ### ## ##  ## ### ##  ##  ##  ###  #   #  #  #   #   #  #  #    #    #  ### #### ### #### ### ## ##  ### #### ### ###  ##   ##  ###  ###  ####    #       #                  #  # #    #   #   ## #             #        #   #   ##   #           #   #    #   ##        #                  #   ##  #    ##  #  #   #  ##  ###   #    #   ##    #             #    #    #     #    ##                 #                     #                     #   ##     #   ##   #   #    #   ##   ###    #    #    ##    #              #               #    #   ##  ##    #                #                     ## ##   #     #   #   #   #  ###  ##    ##  ##  ### ##    ##  ##  ###    #    # #  #     #   # #     #  ### ##  ## ##  ## ### ##   ##  ##  ##  ###  #   #    #   # # #    #   #   #  #  #   #   #  #  #    #    #  ###  ### #### ### #### ##  ### ##   ##  ### ## ##  ### #### ##   ###   ## # ##    ##   ###  ##   ##  ###  ###  ####  # #  # # # # # ## #    #  # #     #    #    ###   ##  ##  ##  ##  ###  ## ## ##  ## ###   #   #    # # #    #  #   #  #  #   #  #   #   #    #   #  ### ### #### ### ####   ##   ### # ##    ##  ###  ##  ##   ###  ####  ###  ## ###   ## ### ##  ## ### ####  # # # # ## # #  #     # ### ### ### #### #### ##  ## ### ## ##  ##  ## ### ## ##   ###  ##   ## ### #### ### ##  ## ### ## ##  ## ##  ###  ##  ##   ### ##  ## ### ### ####  #  #  #   #  #    #  #   #   # #   # # #   #  #  #  #    #   #  #   #    #    #  #   #  #   #   #    # #   #  #   #   # # #    # #### ### #### ### ###  #### ##### #### ##### #### #### ###  ### #### #### ##### ### ### #### ### ##  ## ##  ## ##  ##   #### ### ### ###  #### #### ##### #### ###  ### ### ### ### ####  ## ## ##  ##  ##   ## ### #### ###  ### ####  ### #### #### ##### # #     #    #    ##   #     #   # # # # # ## # # ## #    #    ## #  #     #   ##   #   #    #   ##   ###  #    #  # #     #    #    ##        #              #               #     #    #    ##           #                     #   ##     #   ##   #   #    #   ##   ###    #    #    ##    #             ##  #    #   #   #   #   ##   ##  ##  ###  #    # #  #     #    #    ##  ##  ##  ###  #   #  #  #   #  #   #   #    #   #  ###  ##  ##   ###  ####  ###   #    #    ##   #     #    #   ##   #    ##   #   #    #   ##   ###    #               #     #    #    ##           #                          ##    #   #   #   #   ##  ##  ###  # #     #  ##  ##  ##  ###  #   #  #  #   #   #  #  #    #    #  ###  ##   ##  ###  ###  ####   #   ##     #   ##   #   #    #   ##   ###    #    #    ##    #             #    #   ## ##   #    #    ##  ##    #    #     ## ##   #   #   #  ###  ##  ### ##  ###    #               #    #   ##    #                #                     ## ##   #    #   #   #  ###  ##   ##  ### ##   ##  ###   # #  #     #   ###  ##  ##  ##  ### ## ##  ## ###  #   #  #  #   #  #   #   #    #   # ### #### ### ####  ###  ##  ##   ###  ####  ### ### ##  ## ### ### ####   #    ##   #     #    ##   #   #    #   ##   ###    #     #    #    ##           #                      #    #     #    ##  ##           #                      #    ##  ##    #     ##  ##   #   #    #  ###   ##   ###  ## ###    #     #    ##     #                 #                  #     #    ##   ##     #                   #
###  ### ### ### #### #### ##  ##   ##  ### ##   ##  ## ### ## ##  ##  ## ### ## ##   ###  ##   ## ### #### ##   ##   ##   ###   ## # ##    ##  ##  ###  ##  ##  ##  ##  ###  ##  ##   ###  ##   ##  ###  ####  #    #   # # #    #   #    #    #   # # #    #   #    # #  #     #     #   # #  # # # ## #  # #      #  #  #   #  #    #   #   #    #  #   #  #  #   #   #  #  #    #    #   #   #    #    #  #   #  #   #   #    # #   #   #    #    #  # #     #  ###  #### ###  ####  ###   #### ### #### ### ###  #### ##### #### ##### #### ###  ### #### ##### ### ##   ##  ##  ###  ### #### ## # ##    ### ### #### ##  ## ##  ## ##  ##   #### ### ###  #### ##### #### ###   ## # ##    ##    ##   ### # ###    ###   ####   ## #  ## # ## ## ##  # ##     ###  ###  ####   ##  ##  ##   ##   ##    ##  ####  ###   ###  ####  #####  # #  # ## # #   # ## # # # #  # # # ## # ### #  #  #  # #  ## #   # #      ### ### #### #### ### ### ### ### #### #### ### ###  #### #### ###  ### ##### #### ##### #### #### #####  ## ### ## ##  ## ##   ###  ##  ##  ##   ## ### ###  ### ### #### ### ##  ## ## ##  ##  ## ## ##   ##   ##  ###  ##  ##   ##   ## ### ### #### ### ##  ## ##  ##  ##    ###   ###  ###  ####  ###   ##  ##   ##   ## # ##    ## #### ### ### ###  #### #### ##### #### ###  ##  ###  ##  ##  ##  ##   ### ## ##  ##  ## ### ###  ### ### #### ##  ## ## ##  ## ##  ##  ##   ##  ## ###  ##  ##   ##   ##  ###  ###   ###  ####  ##   ##  ##   ##   ##    ## # ### ### ####  ## ##  ##  ##   ## #### ###  ### #### #####  #   #   #   #     #  #   #  #   #  #   #   #  #   #  #    #    #    #  #   #    # #  #   #   #  #  #   #  #    #   #   #     #  #   #   # # #    #  #  #  #   #  #    #  #   #   # #   # # #   #  #  #  #    #   #  #   #    #    #  #   #  #   #   #    #     #  #   #   #   #    #  #    #    #   #   #    #     #    #    #     # #   #   #    #    #  # #     #  #   #   #    # # #   #  #   #  #   #    #    # # #   #    # #  #    #     #  # # ## # #   #   # # #    #   #  #  #   #   #    # # #    #   #    #  # # ## #    # #  #     # #### ##### #### #### ##### #### #### ### ###  ###  ### #### ####  #### ##### ###  ### ###  ### ###  ###   ##### #### ##### #### ####  #### ##### ###### ##### ##### ###### ##### #### #### ####  ##### ##### ###### ##### ####  #### #### #####  ### ### ###  ###  ###   ### ##### ####  #### ##### ###### ### #### ### ### ### ### #### ### ### ###  #### #### ##### #### ###  ##  ##  ##  ##   ##  ## ## ##  ## ##  ##  ##   ##  ## ##   ##  ##   ##   ##    ## # #### #### #### ##### #### ### ###  ###  ###  ### ###  ### ###  ###   #### ##### #### ##### #### #### ####  ##### ##### ###### ##### ####  ###   ### #### ### ### ### #### ###  ### #### #####  ##  ##  ##   ## ##  ## ## ##  ##  ## ## ##   ##   ##   ##  ##   ##   ## # ##    ## #### #### #####  ### ### ###  ###  ###   ### ##### ####  #### ##### ######  ##   ##  ##  ##  ###  #    #    #    # #  #     #   #   #   #   #   #   #   #    #    #   ##   ###  ##    ###  ##  ##   ###  ####  # #   # #  # ##  #  #  #      ##  ##  ###  ##  ##  ##  ##  ###  ##  ##   ###  ##   ##  ###  ####  ###  #   #   #   #   #    #  #   #   #  #   #  #  #   #  #   #   #    #   #  #   #    #    #   #    #   #    #    #     # #   #  #   #   # # #    #  ###  ###  ####  ###  ##   ##  ##   ##  ##   ##    ####  ###  ###  ###   ####  ####  #####  ####  ###    ##   #     #    #    #    ##    ##   ###   # #   #      ##   ##   ##   ###   #    #   #   #    #   #    #    #     #   #   ###   ##   ##    ###   ####   ###    #     ##    #      ##    #    #     #    ##    ###     #      #     ##      #
###  ##  ##  ##  ##    ## ### ###  ### ### #### ##  ## ##  ## ##  ##  ## ##  ## ##   ##   ##   ## ##  ##    ###  ###  ###   ###  ###  ####  ##  ##   ##  ##  ##  ##  ##   ##  ##  ##    ##  ##   ##   ##    ## ###  ### ### #### ### ###  ###  ### ### #### ### ###  ###  ####  ###   ### #### ### ###  #### #####  ## ## ##  ## ##   ##  ##  ##   ## ##  ## ## ##  ##  ## ## ##   ##   ##  ##  ##   ##   ## ##  ## ##  ##  ##   ##    ##  ##   ##   ##   ##    ##  ###  ###  ###   ###  ####  ##   ##   ##  ##  ##   ##    ##   ##   ##     ##  ##   ##   ##    ## ### #### ### ### #### ### ###  #### ##### ##  ##  ##   ##  ## ##  ## ##  ##   ##   ##  ##   ##   ##    ## #   ###  ###  ####  ###   ###   ###   ####   ###    ###  ####  ###  ###   ####  #####   ##   ##    ##   ##  ##  ##   ##   ##    ##    ##   ##    ##    ##     ## #### #### ##### ###  ### ###  ### ###  ###   ##### #### ####  ##### ######  #   #   #     #   #   #   #   #   #     #   #   #    #     #   #    #    #    #    #     # #   #     #   #  #   #  #   #  #    #    #   #   #    #  #   #    #   #   #    # # #   #  #  #   #   #  #  #    #    #   #    #   #    #    #  #   #   #    # # #   #  #   #   #     #     #    #    #     # #   #   #    #    #    #     #  #    # # #   #    # #  #    #     #  # # ##  #    #   #   #   #   #     #  #  #   #   #   #   #    #   #    #  #   #  #  #   #  #   #   #    #   #   #   #   #    #    #    #    #     #     #   #    #   #    #    #     #     #   #    #   #  #   #   #    #    #   #    #    #     #  #   #   #   #     #  #   #  #   #  #   #   #  #   #  #    #    #    #  #   #    #    #   #   #  #  #   #  #    #   #   #     #  #   #   #   #    #  #  #  #   #  #    #  #   #   # #   # # #   #  #  #  #    #   #  #   #    #    #  #   #  #   #   #    #     #  #   #   #   #    #  #    #    #   #   #    #     #    #    #     #     #   #    #    #    #     #  #   #   #    #   #   #  #   #  #   #    #    #   #   #    #    #    #     #    #    # #   #   #   #    #   #  #  #   #   #    #   #    #   #    #    #    #    #    #     #  #     #    #    #    #     # #   #   #   #    #    #    #    #     #     #   #    #   #    #   #    #      #    #    #     # #  #     #     #     #      # #   #      #    #     # #  #    #     # #   #     #      #  #  # ##   #    #     #    #   #   #    #    #     #     #    #     #     #      #  #   #    # # #   #   #   #    # # #   #    # #  #    #     #  # # ## #   #   #   #    #   #  #  #   #  #   #   #    #   #  #    #   #    #    #     #    # #  #    #    #     #  # # # # #  # ## #    #   #    #   #    #     # #  # #   # ## #     #  # #    #     #  #  #     #      #   # #  ## # ###   #    #   #   #   #    #   #    #    #     #   #   #   #    #  #   #  #  #   #   #  #  #    #    #    #   #    #    #    #     #    #    #     #    #   #   #    #    #     #     #    #     #     #      # #### ### ### ### ###  #### #### #### #### ##### ### ### ### ### ### ### ### ###  ###  ### #### #### ##### ###  ### ###  ###  ###   ##### #### ####  ##### ###### ##  ##  ##   ##  ##  ##  ##  ##   ##  ##   ##   ##   ##  ##   ##    ## # ##  ##  ##  ##  ##   ## ##  ##  ## ##  ## ## ##  ## ##  ##  ##   ##  ## ##  ##   ##   ##  ##   ##  ##   ##   ##    ##    ## ##  ##  ##  ##   ## ##   ##   ##    ## # ##   ##  ##   ##  ##   ##    ##    ## # ##   ##    ## #  ##    ##     ##  # ## ## #### ##### #### #### #### ##### #### ####  ##### ###### ###  ###  ###  ###   ###  ### ### ###  ### ###  ###  ###   ### ### ###   ###  ###   ###   ###    ### # ##### ##### ###### ####  #### ####  #### ####  ####   ###### ##### #####  ###### #######

```

## Ranking

### Ruby_

RankUserSizeTimeDateStatistics
1mitchs2060.29772015/11/13 14:51:120B / 99B / 97B

### Ruby2_

RankUserSizeTimeDateStatistics
1mitchs2020.32172015/11/13 14:52:540B / 93B / 103B

### Perl_

RankUserSizeTimeDateStatistics
1tails2340.30332014/12/07 09:10:192B / 89B / 139B

### Python_

RankUserSizeTimeDateStatistics
1mitchs2440.09692015/11/13 15:51:010B / 118B / 104B
2rolf4840.06922014/12/06 08:03:410B / 220B / 185B

### Python3_

RankUserSizeTimeDateStatistics
1mitchs2490.14302015/11/13 16:03:080B / 118B / 108B

RankUserSizeTimeDateStatistics
1int-e2540.08112014/12/03 03:06:330B / 105B / 145B

### goruby_

RankUserSizeTimeDateStatistics
1mitchs1820.30152016/05/12 21:00:290B / 71B / 106B

### Language Ranking_

RankLangUserSizeScore
1gorubymitchs18210000
2Ruby2mitchs2029009
3Rubymitchs2068834
4Perltails2347777
5Pythonmitchs2447459
6Python3mitchs2497309