Polyominoes
Submit
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
Sample input:_
*NOTHING*
Sample output:
#
#
# ##
#
# # ## ## #
## # # # ## ###
#
# # # # ## ## # # #
# ## ## # ## ## # # # ### ## ### ## ### # # ## #
## ## ## ### # # # # # # # # # # ### ## ## ### ####
#
# # # # # # ## ## # # # # #
# # # # ## ## # # # # ## ## # # ## ## # ## ## # # # ### ## ### ## ### # # # # ## # # # ## # # # # ## ## # #
## ## # # # # ### ## ## ### ## ## ### # # # ### ## ## ## ### ## ## ## ### # # # # # # # # # # ### #### ### #### ### ## ## ### #### ### ### ## ## ### #### # ## # ## # # # ## ### # # ## #
## ## ### ## ## ## ## ### ## ## ### ## ## ### #### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### ### #### ## ## ## ## ## ## #### ### ### #### #####
#
# # # # # # # # ## ## # # # # # # #
# # # # # # ## ## # # # # # # # # # ## ## # # # # # # ## ## # # # # ## ## # # ## ## # ## ## # # # ### ## ### ## ### # # # # ## # # # ## # # # # # # ## ## # # # # # ## ## # # # # # # # ## ## # # # #
# # # ## ## # # # ## ## # # ## ## # # ## ## # # # ### ## ### ## ### # # # # # ## # # # # ## # # # ## ## # # ## ## # # # # ### ## ## ### ## ## ### # # # # ## ## # # # # ### ## ## ### ## ## ### # # # ### ## ## ## ### ## ## ## ### # # # # # # # # # # ### #### ### #### ### ## ## ### #### ### ### ## ## ### ### #### # # # # # ## # # # # ## # # ## # # ## # # # ## ### # # # ## # # ## # ## # # # ## ### # # ## # # # # ## ## # # ## ## # ## ## # # # ### ## ### ## ### # # ## # # # # ## ## # #
### ## ## ## ## ### ## ## ## ## ### # # # # # # # # # # # # # # # # ### ### #### ### #### ## ### ## ### ## ## ### #### ## ### ## # ## ### ## ## ### #### # # # # # ## # # # ### ### ### #### #### ## ## ### ## ## ## ## ### ## ## ### ## ## ### #### ### ## ## ### ## ## ## ## ### ## ## ### ## ## ### #### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #### ### #### ### ### #### ##### #### ##### #### #### ### ### #### ##### ### ### #### ### ## ## ## ## ## ## #### ### ### ### #### #### ##### #### ### ### ### #### ## ## ## ## ## ## #### ### ### #### ##### ## # # # # ## ## ### # # # ## ## ## ### # # # # # # # # # # ### ## ## ### #### ### # ## # ## # # # ## ### # # ## #
## ### ## ## ## ## ### ## ## ## ## ### ### ### ### #### ## ## ## ## ## ## ## ## ## ## ### ## ## ## ## ### ### #### ## ## ## ## ## ### ### ### #### ## ## ## ## ## #### ### ### #### ##### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # ### #### ### ### ### #### ### ### #### ##### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## # #### #### ##### ### ### ### ### ### ### ##### #### #### ##### ######
#
# # # # # # # # # # ## ## # # # # # # # # #
# # # # # # # # ## ## # # # # # # # # # # # # # ## ## # # # # # # # # # # ## ## # # # # # # # # # ## ## # # # # # # ## ## # # # # ## ## # # ## ## # ## ## # # # ### ## ### ## ### # # # # ## # # # ## # # # # # # ## ## # # # # # ## ## # # # # # # # # # ## ## # # # # # # # # # ## ## # # # # # # # # # # # ## ## # # # # # #
# # # # # # ## ## # # # # # # # ## ## # # # # # # # ## ## # # # # ## ## # # ## ## # ## ## # # # ### ## ### ## ### # # # # ## # # # ## # # # # # # # ## ## # # # # # # ## ## # # # # # # # # ## ## # # # # # ## ## # # # ## ## # # ## ## # # # ## ## # # # ### ## ### ## ### # # # # # ## # # # # ## # # # # # ## ## # # # ## ## # # ## ## # # ## ## # # # ### ## ### ## ### # # # # # ## # # # # ## # # # ## ## # # ## ## # # # # ### ## ## ### ## ## ### # # # # ## ## # # # # ### ## ## ### ## ## ### # # # # ### ## ## ## ### ## ## ## ### # # # # # # # # # # ### #### ### #### ### ## ## ### #### ### ### ## ## ### ### #### # # # # # ## # # # # ## # # ## # # ## # # # ## ### # # # ## # # ## # # ## # # # ## ### # # # ## # # # # # # # ## ## # # # # # # ## ## # # # # # # ## ## # # ## ## # ## ## # # # ### ## ### ## ### # # ## # # # # # ## ## # # # # # ## ## # # ## ## # ## ## # # # ### ## ### ## ### # # ## # # # # ## ## # # # # # # # ## ## # # # # # # # ## ## # # # # ## ## # # ## ## # ## ## # # # ### ## ### ## ### # # # # ## # # # ## # # # # ## ## # # # # # # # ## ## # # # #
# # ## ## # # # ## ## # # ## ## # # # # ### ## ## ### ## ## ### # # # # ## ## # # # ## ## # # # # ### ## ## ### ## ## ### # # # ## ## # # # # # ### ## ## ## ### ## ## ## ### # # # # # # ### ## ## ## ### ## ## ## ### # # # # # # # # # # ### #### ### #### ### ## ## ### #### ### ### ## ## ### ### #### # # # # # # # ## # # # # ## # # # # ## # # ## # ## # # # ## ### # # ## # # # # # ## # # # ## # ## # # # ## ### # # ## # # # # ## ## # # ## ## # # # # # ### ## ## ## ### ## ## ## ### # # # # # # # # ### ## ## ## ## ### ## ## ## ## ### # # # # # # # # # # # # # # # # # ### ### #### ### #### ## ### ## ## ### ## ## ### #### ## ### ## # ## ## ### ## ## ### ### #### # # # # # # # ## # # # # # # ### ## ## ## ## ### ## ## ## ## ### # # # # # # # # # # # # # # # # ### ### #### ### #### ## ### # ## ## ### ## ## ### #### ### ## ### ## ### ## ## ### #### # # # # ## # # # # ### ### ### #### #### ## ## ### ## ## ## ## ### ## ## ### ## ## ### #### ### ## ## ### ## ## ## ## ### ## ## ### ## ## ### ### #### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #### ### #### ### ### #### ##### #### ##### #### #### ### ### #### #### ##### ### ### #### ### ## ## ## ## ## ## #### ### ### ### #### #### ##### #### ### ### ### ### ### #### ## ## ## ## ## ## ### #### ### ### #### ### #### #### ##### # # # # ## # # # # # # # ## # # ## # # ## # # # ## # # # ## ### # # # # # # ## # # # # # ## # # ## # ## # # # ## ### # # ## # ## # # # # # ## ## ## ### # # # # # # ## ## ## ### # # # # # # # # # # ### ## ## ### #### ### # # ## # # # ## # ## # # # ## ### # # # # ## # ## # # # # ## ## ### # # # ## ## ## ### # # # # # # # # # # ### ## ## ### ### #### # ## # ## # # # ## ### # # ## # # # ## ## # # ## ## # # ## ## # # # ### ## ### ## ### # # # ## # # ## ## # # # # ### ## ## ### ## ## ### # # # # ### ## ## ## ### ## ## ## ### # # # # # # # # # # ### #### ### #### ### ## ## ### #### ### ### ## ## ### ### #### # ## # # ## # # # ## ### # # # ## # # # # ## ## # # ## ## # ## ## # # # ### ## ### ## ### # # ## # # # # ## ## # #
### ### ### ### #### #### ## ## ## ### ## ## ## ### ## ## ## ## ### ## ## ### ## ## ### #### ## ## ## ### ## # ## ## ## ### ## ## ## ## ### ## ## ### ## ## ### #### # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### #### ### #### ### #### ### #### ### ### #### ##### #### ##### #### ### ### #### ##### ### ## ## ## ### ### #### ## # ## ### ### #### ## ## ## ## ## ## #### ### ### #### ##### #### ### ## # ## ## ## ### # ### ### #### ## # ## # ## ## ## # ## ### ### #### ## ## ## ## ## ## #### ### ### #### ##### # # # ## # # # ## # # # # # # # ## # ### # # # # # ## # # # ### ### #### #### ### ### ### ### #### #### ### ### #### #### ### ### ##### #### ##### #### #### ##### ## ### ## ## ## ## ### ## ## ## ## ### ### ### ### #### ### ## ## ## ## ## ## ## ## ## ## ### ## ## ## ## ### ### #### ### ## ## ## ## ## ### ### ### #### ### ## ## ## ## # ## ## #### ### ### ### #### #### ##### #### ### ## ### ## ## ## ## ### ## ## ## ## ### ### ### ### #### ## ## ## ## ## ## ## ## ## ## ### ## ## ## ## ### ### ### #### ## ## ## ## ## ## # ### ### #### ## ## ## ## ## #### ### ### #### ##### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # ## # # # # # #### ##### #### #### ##### #### #### ### ### ### ### #### #### #### ##### ### ### ### ### ### ### ##### #### ##### #### #### #### ##### ###### ##### ##### ###### ##### #### #### #### ##### ##### ###### ##### #### #### #### ##### ### ### ### ### ### ### ##### #### #### ##### ###### ### #### ### ### ### ### #### ### ### ### #### #### ##### #### ### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## # #### #### #### ##### #### ### ### ### ### ### ### ### ### ### #### ##### #### ##### #### #### #### ##### ##### ###### ##### #### ### ### #### ### ### ### #### ### ### #### ##### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## # ## ## #### #### ##### ### ### ### ### ### ### ##### #### #### ##### ###### ## ## ## ## ### # # # # # # # # # # # # # # # # ## ### ## ### ## ## ### #### # # # # # ## # # # ## ## ### ## ## ## ## ### ## ## ### ## ## ### #### ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ### ### #### ### ## ## ## ## ## ## #### ### ### ### #### #### ##### #### ### ## # # # # ## ## ### # # # ## ## ## ### # # # # # # # # # # ### ## ## ### #### ### # ## # ## # # # ## ### # # ## #
### ## ## ## ## ## ### ### ### ### #### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ### ### ### ### ### #### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ### ### ### #### ### ### ### ### ### #### ### ### ### #### ### ### #### ### ### #### ##### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ### ### ### ### #### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ### #### ### ### #### ### ### #### ##### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## # ### ### #### ### ### ### #### ### ### #### ### ### #### ##### ## ## ## ## ## ## ## ## ## ## ## ## ## ## #### #### ##### ### ### ### ### ### ### ##### #### #### ##### ###### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # ## # # # # # # # # # # # # ## # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #### ### ### ### ### #### #### #### #### ##### ### ### ### ### ### ### ### ### ### ### #### #### ##### ### ### ### ### ### ##### #### #### ##### ###### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## # ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## # ## ## ## ## ## ## ## ## # ## ## ## # ## ## ## # ## ## #### ##### #### #### #### ##### #### #### ##### ###### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### # ##### ##### ###### #### #### #### #### #### #### ###### ##### ##### ###### #######
Ranking
Rank | User | Size | Time | Date | Statistics |
---|
1 | mitchs | 206 | 0.2977 | 2015/11/13 14:51:12 | 0B / 99B / 97B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | mitchs | 202 | 0.3217 | 2015/11/13 14:52:54 | 0B / 93B / 103B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 234 | 0.3033 | 2014/12/07 09:10:19 | 2B / 89B / 139B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | mitchs | 244 | 0.0969 | 2015/11/13 15:51:01 | 0B / 118B / 104B |
2 | rolf | 484 | 0.0692 | 2014/12/06 08:03:41 | 0B / 220B / 185B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | mitchs | 249 | 0.1430 | 2015/11/13 16:03:08 | 0B / 118B / 108B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | int-e | 254 | 0.0811 | 2014/12/03 03:06:33 | 0B / 105B / 145B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | mitchs | 182 | 0.3015 | 2016/05/12 21:00:29 | 0B / 71B / 106B |
Language Ranking_
Rank | Lang | User | Size | Score |
1 | goruby | mitchs | 182 | 10000 |
2 | Ruby2 | mitchs | 202 | 9009 |
3 | Ruby | mitchs | 206 | 8834 |
4 | Perl | tails | 234 | 7777 |
5 | Python | mitchs | 244 | 7459 |
6 | Python3 | mitchs | 249 | 7309 |
7 | Haskell | int-e | 254 | 7165 |
return to the top page