Belarus rushnyk
Clash Royale CLAN TAG#URR8PPP
up vote
18
down vote
favorite
We've got quite a few national flag challenges already:
AU
CH
FI
FR
GB
GB
IS
KR
NP
US...
Here's another, somewhat more advanced one:
Return or print the decorative pattern from Belarus's national flag as a matrix of two distinct values for red and white.
If your language doesn't support matrices, use a list of lists or the closest equivalent.
Extra whitespace is allowed on all sides.
The matrix can be transposed.
The elements can have a consistent separator, and so can the rows, e.g. output can be JSON.
You must use the 2012 version of the ornament pattern, not the 1951 or 1995 versions.
This is code-golf, so the shortest answer per language wins.
Sample output:
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..#######.....#######..
.#########...#########.
#######################
####...#########...####
.#####..#######..#####.
..###....#####....###..
#..#....#######....#..#
.......####.####.......
#.....####...####.....#
##...####..#..####...##
###.####.......####.###
.######..#...#..######.
..####...##.##...####..
...###....###....###...
....##.#...#...#.##....
...###....###....###...
..####...##.##...####..
.######..#...#..######.
###.####.......####.###
##...####..#..####...##
#.....####...####.....#
.......####.####.......
#..#....#######....#..#
..###....#####....###..
.#####..#######..#####.
####...#########...####
#######################
.#########...#########.
..#######.....#######..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
code-golf kolmogorov-complexity binary-matrix
add a comment |Â
up vote
18
down vote
favorite
We've got quite a few national flag challenges already:
AU
CH
FI
FR
GB
GB
IS
KR
NP
US...
Here's another, somewhat more advanced one:
Return or print the decorative pattern from Belarus's national flag as a matrix of two distinct values for red and white.
If your language doesn't support matrices, use a list of lists or the closest equivalent.
Extra whitespace is allowed on all sides.
The matrix can be transposed.
The elements can have a consistent separator, and so can the rows, e.g. output can be JSON.
You must use the 2012 version of the ornament pattern, not the 1951 or 1995 versions.
This is code-golf, so the shortest answer per language wins.
Sample output:
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..#######.....#######..
.#########...#########.
#######################
####...#########...####
.#####..#######..#####.
..###....#####....###..
#..#....#######....#..#
.......####.####.......
#.....####...####.....#
##...####..#..####...##
###.####.......####.###
.######..#...#..######.
..####...##.##...####..
...###....###....###...
....##.#...#...#.##....
...###....###....###...
..####...##.##...####..
.######..#...#..######.
###.####.......####.###
##...####..#..####...##
#.....####...####.....#
.......####.####.......
#..#....#######....#..#
..###....#####....###..
.#####..#######..#####.
####...#########...####
#######################
.#########...#########.
..#######.....#######..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
code-golf kolmogorov-complexity binary-matrix
add a comment |Â
up vote
18
down vote
favorite
up vote
18
down vote
favorite
We've got quite a few national flag challenges already:
AU
CH
FI
FR
GB
GB
IS
KR
NP
US...
Here's another, somewhat more advanced one:
Return or print the decorative pattern from Belarus's national flag as a matrix of two distinct values for red and white.
If your language doesn't support matrices, use a list of lists or the closest equivalent.
Extra whitespace is allowed on all sides.
The matrix can be transposed.
The elements can have a consistent separator, and so can the rows, e.g. output can be JSON.
You must use the 2012 version of the ornament pattern, not the 1951 or 1995 versions.
This is code-golf, so the shortest answer per language wins.
Sample output:
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..#######.....#######..
.#########...#########.
#######################
####...#########...####
.#####..#######..#####.
..###....#####....###..
#..#....#######....#..#
.......####.####.......
#.....####...####.....#
##...####..#..####...##
###.####.......####.###
.######..#...#..######.
..####...##.##...####..
...###....###....###...
....##.#...#...#.##....
...###....###....###...
..####...##.##...####..
.######..#...#..######.
###.####.......####.###
##...####..#..####...##
#.....####...####.....#
.......####.####.......
#..#....#######....#..#
..###....#####....###..
.#####..#######..#####.
####...#########...####
#######################
.#########...#########.
..#######.....#######..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
code-golf kolmogorov-complexity binary-matrix
We've got quite a few national flag challenges already:
AU
CH
FI
FR
GB
GB
IS
KR
NP
US...
Here's another, somewhat more advanced one:
Return or print the decorative pattern from Belarus's national flag as a matrix of two distinct values for red and white.
If your language doesn't support matrices, use a list of lists or the closest equivalent.
Extra whitespace is allowed on all sides.
The matrix can be transposed.
The elements can have a consistent separator, and so can the rows, e.g. output can be JSON.
You must use the 2012 version of the ornament pattern, not the 1951 or 1995 versions.
This is code-golf, so the shortest answer per language wins.
Sample output:
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..#######.....#######..
.#########...#########.
#######################
####...#########...####
.#####..#######..#####.
..###....#####....###..
#..#....#######....#..#
.......####.####.......
#.....####...####.....#
##...####..#..####...##
###.####.......####.###
.######..#...#..######.
..####...##.##...####..
...###....###....###...
....##.#...#...#.##....
...###....###....###...
..####...##.##...####..
.######..#...#..######.
###.####.......####.###
##...####..#..####...##
#.....####...####.....#
.......####.####.......
#..#....#######....#..#
..###....#####....###..
.#####..#######..#####.
####...#########...####
#######################
.#########...#########.
..#######.....#######..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
code-golf kolmogorov-complexity binary-matrix
asked yesterday
ngn
6,49812154
6,49812154
add a comment |Â
add a comment |Â
7 Answers
7
active
oldest
votes
up vote
7
down vote
Stax, 68 bytes
àÃÂãâÂÂiâÂÂ7FF3xìåâ«YbâÂÂtâ¤yâ¡õÃ¥è0âÂÂâÂÂhâÂÂÃÂDOüâÂÂ`âÂÂâ ^>âÂÂ;âÂÂÃÂ9âÂÂçÃÂü$ÃÂâ¡â«èj_âÂÂ;ø;áòéâºâÂÂ4!PâÂÂ
Run and debug it
Outputs vertical version, 1
for white, 0
for red. Naive approach: compress top left quarter, then complete.
add a comment |Â
up vote
4
down vote
Python 2, 183 181 bytes
S=[bin(int(''.join(w),36))[2:].rjust(31,'0')for w in zip(*[iter("RBRG5FDLAJ2O77MSE012OBJWJUSWDQ464UKNYZIE8JYGS0JRFOCIJY7U5F983X0LYW20WNTE")]*6)]
for s in S[:0:-1]+S:print s[:0:-1]+s
Try it online!
Outputs transposed version, using 0
and 1
for white and red.
add a comment |Â
up vote
3
down vote
JavaScript (ES6), 164 bytes
Transposed output. Uses 0
for white, 1
for red.
f=(x=y=0)=>y<61?x>22?`
`+f(!++y):(-~'o`xb[FMMf[MM[Fxbo`cCMMZZMMcCo`xbFN~~N}}{[wH?]@NbfvBHWwooa'.charCodeAt((y>30?60-y:y)*2+(X=x>11?22-x:x)/6)>>X%6&1)+f(x+1):''
Try it online! (prettified output)
Using Buffer() in Node.js saves 1 byte.
add a comment [wH?]@NbfvBHWwooa'.charCodeAt((y>30?60-y:y)*2+(X=x>11?22-x:x)/6)>>X%6&1)+f(x+1):''
Try it online! (prettified output)
Using Buffer() in Node.js saves 1 byte.
JavaScript (ES6), 164 bytes
Transposed output. Uses 0
for white, 1
for red.
f=(x=y=0)=>y<61?x>22?`
`+f(!++y):(-~'o`xb[FMMf[MM[Fxbo`cCMMZZMMcCo`xbFN~~N{[wH?]@NbfvBH{Wwooa'.charCodeAt((y>30?60-y:y)*2+(X=x>11?22-x:x)/6)>>X%6&1)+f(x+1):''
Try it online! (prettified output)
Using Buffer() in Node.js saves 1 byte.
edited yesterday
answered yesterday
Arnauld
60.4k472253
60.4k472253
add a comment |Â
add a comment |Â
up vote
3
down vote
SOGL V0.12, 61 56 bytes
âÂÂñâ¶U-â¼ðjÃ
ÂIä$ãçÃÂâÂÂFVþÃÂâÂ
Â{VqMâ¼ÿYà!âÂÂÿéÃÂ.ÃÂgñâÂÂöã,Cyâ²âÂÂâÂÂ2âÂÂñ6ënâ¬,
Try it Here!
add a comment |Â
up vote
3
down vote
SOGL V0.12, 61 56 bytes
âÂÂñâ¶U-â¼ðjÃ
ÂIä$ãçÃÂâÂÂFVþÃÂâÂ
Â{VqMâ¼ÿYà!âÂÂÿéÃÂ.ÃÂgñâÂÂöã,Cyâ²âÂÂâÂÂ2âÂÂñ6ënâ¬,
Try it Here!
add a comment |Â
up vote
3
down vote
up vote
3
down vote
SOGL V0.12, 61 56 bytes
âÂÂñâ¶U-â¼ðjÃ
ÂIä$ãçÃÂâÂÂFVþÃÂâÂ
Â{VqMâ¼ÿYà!âÂÂÿéÃÂ.ÃÂgñâÂÂöã,Cyâ²âÂÂâÂÂ2âÂÂñ6ënâ¬,
Try it Here!
SOGL V0.12, 61 56 bytes
âÂÂñâ¶U-â¼ðjÃ
ÂIä$ãçÃÂâÂÂFVþÃÂâÂ
Â{VqMâ¼ÿYà!âÂÂÿéÃÂ.ÃÂgñâÂÂöã,Cyâ²âÂÂâÂÂ2âÂÂñ6ënâ¬,
Try it Here!
edited yesterday
answered yesterday
dzaima
12.2k11450
12.2k11450
add a comment |Â
add a comment |Â
up vote
3
down vote
Charcoal, 93 89 81 bytes
âÂÂÂ
show 1 more comment
up vote
3
down vote
Charcoal, 93 89 81 bytes
âÂÂÂ
show 1 more comment
up vote
3
down vote
up vote
3
down vote
Charcoal, 93 89 81 bytes
âÂÂâÂÂâ·Bâ¦Âöùùï½ÂTQâÂÂâ½÷⪫Mg+âÂÂ
çúH÷ÃÂï¼°âÂÂâÂȉÂÂï½ÂYÃÂäâµâÂÂ-ú�úb5AÃÂóâÂÂI0ê﹪oöï¼Ââ²úhâ²â®Â#âÂÂsâ¶â´ÃÂâ§âÂÂâ¨â§âº4UÃÂmâ§üFâÂÂ⬤âÂÂâÂÂOì
My first charcoal answer! :D
Try it online!
Saved 4 bytes by outputting the design horizontally rather than vertically (fewer newlines).
Thanks to @Neil for saving 8 bytes!
answered yesterday
Lynn
47.7k693221
47.7k693221
add a comment |Â
add a comment |Â
up vote
2
down vote
Perl 5, 121 bytes
Uses 1
for white pixels and 0
for red.
$_=unpack"B*",'ñæÃÂxããÃÂvñÃÂ÷Ã
½2IÃ
½=÷ñæÃÂxàÃÂxoá|3â øÃÂÃ
¾<òà';say for(@a=maps/.$//r.reverse/.12/g),pop@a&&reverse@a
This script contains unprintable characters so a reversible hexdump is included in the verification link below.
Try it online!
Verification of code length.
Explanation
The top quarter of the pattern is stored within the binary blob. This just uses Perl's pack
function with the original binary string (after replacing .
and #
with 1
and 0
). This allows us to store 8 bits of the pattern in each byte. Once we've unpacked the data, we have the long binary string, which we break down into sections of length 12, concatenate with the reverse (except for the duplicated middle character) and then loop over the list of sections (concatenated with the reverse of the list, except for the duplicated middle element) and output them all using say
, which adds in a newline.
add a comment |Â
up vote
2
down vote
Perl 5, 121 bytes
Uses 1
for white pixels and 0
for red.
$_=unpack"B*",'ñæÃÂxããÃÂvñÃÂ÷Ã
½2IÃ
½=÷ñæÃÂxàÃÂxoá|3â øÃÂÃ
¾<òà';say for(@a=maps/.$//r.reverse/.12/g),pop@a&&reverse@a
This script contains unprintable characters so a reversible hexdump is included in the verification link below.
Try it online!
Verification of code length.
Explanation
The top quarter of the pattern is stored within the binary blob. This just uses Perl's pack
function with the original binary string (after replacing .
and #
with 1
and 0
). This allows us to store 8 bits of the pattern in each byte. Once we've unpacked the data, we have the long binary string, which we break down into sections of length 12, concatenate with the reverse (except for the duplicated middle character) and then loop over the list of sections (concatenated with the reverse of the list, except for the duplicated middle element) and output them all using say
, which adds in a newline.
add a comment |Â
up vote
2
down vote
up vote
2
down vote
Perl 5, 121 bytes
Uses 1
for white pixels and 0
for red.
$_=unpack"B*",'ñæÃÂxããÃÂvñÃÂ÷Ã
½2IÃ
½=÷ñæÃÂxàÃÂxoá|3â øÃÂÃ
¾<òà';say for(@a=maps/.$//r.reverse/.12/g),pop@a&&reverse@a
This script contains unprintable characters so a reversible hexdump is included in the verification link below.
Try it online!
Verification of code length.
Explanation
The top quarter of the pattern is stored within the binary blob. This just uses Perl's pack
function with the original binary string (after replacing .
and #
with 1
and 0
). This allows us to store 8 bits of the pattern in each byte. Once we've unpacked the data, we have the long binary string, which we break down into sections of length 12, concatenate with the reverse (except for the duplicated middle character) and then loop over the list of sections (concatenated with the reverse of the list, except for the duplicated middle element) and output them all using say
, which adds in a newline.
Perl 5, 121 bytes
Uses 1
for white pixels and 0
for red.
$_=unpack"B*",'ñæÃÂxããÃÂvñÃÂ÷Ã
½2IÃ
½=÷ñæÃÂxàÃÂxoá|3â øÃÂÃ
¾<òà';say for(@a=maps/.$//r.reverse/.12/g),pop@a&&reverse@a
This script contains unprintable characters so a reversible hexdump is included in the verification link below.
Try it online!
Verification of code length.
Explanation
The top quarter of the pattern is stored within the binary blob. This just uses Perl's pack
function with the original binary string (after replacing .
and #
with 1
and 0
). This allows us to store 8 bits of the pattern in each byte. Once we've unpacked the data, we have the long binary string, which we break down into sections of length 12, concatenate with the reverse (except for the duplicated middle character) and then loop over the list of sections (concatenated with the reverse of the list, except for the duplicated middle element) and output them all using say
, which adds in a newline.
answered 16 hours ago
Dom Hastings
14.7k33070
14.7k33070
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f170053%2fbelarus-rushnyk%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password