벨로루시 러시 니크


19

우리는 이미 꽤 많은 국기 문제를 가지고 : AU CH FI FR GB GB IS KR NP 미국 ... 여기에 또 다른, 좀 더 고급 하나입니다 :

벨로루시 국기의 장식 패턴 을 빨간색과 흰색의 두 가지 고유 한 값의 행렬로 반환하거나 인쇄하십시오 .

rushnyk

언어가 행렬을 지원하지 않는 경우 목록 목록 또는 가장 가까운 해당 항목을 사용하십시오. 모든 측면에 추가 공백이 허용됩니다. 매트릭스가 바뀔 수 있습니다. 요소는 일관된 구분 기호를 가질 수 있으므로 행 (예 : 출력은 JSON)이 될 수 있습니다. 1951 또는 1995 버전이 아닌 2012 버전의 장식 패턴을 사용해야합니다. 이것은 이므로 언어 ​​당 가장 짧은 답변이 이깁니다.

샘플 출력 :

....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..#######.....#######..
.#########...#########.
#######################
####...#########...####
.#####..#######..#####.
..###....#####....###..
#..#....#######....#..#
.......####.####.......
#.....####...####.....#
##...####..#..####...##
###.####.......####.###
.######..#...#..######.
..####...##.##...####..
...###....###....###...
....##.#...#...#.##....
...###....###....###...
..####...##.##...####..
.######..#...#..######.
###.####.......####.###
##...####..#..####...##
#.....####...####.....#
.......####.####.......
#..#....#######....#..#
..###....#####....###..
.#####..#######..#####.
####...#########...####
#######################
.#########...#########.
..#######.....#######..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....

답변:


7

Stax , 68 바이트

àÑΣ▒i╕7FF3xì¥╫Yb▌t╤y╡µåè0═↕h╗ΔDOü↔`◙■^>♀;∟Γ9→§Æ¼$ß⌡╫èj_┐;ø;¡²Ω☺┘4!P╛

실행 및 디버깅

1흰색, 0빨간색의 세로 버전을 출력합니다 . 순진한 접근 방식 : 왼쪽 상단을 압축 한 다음 완료하십시오.


4

파이썬 2 , 183181 바이트

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

온라인으로 사용해보십시오!

출력은 사용 버전을 전치 0하고 1흰색과 빨간색을 위해.


이 플래그에 대한 전체 값 문자열을 압축합니까?
Raghu Ranganathan

@RaghuRanganathan 분기 만. 두 for s in S[:0:-1]+S:print s[:0:-1]+s배로 줄을 두 배로 인쇄하고 각 줄을 두 배로 인쇄
TFeld



3

숯, 93 89 81 바이트

”{“↷B⦃¶¹¹|TQ⌊‽÷⪫Mg+℅§ºH·τP≔⁻⊗|Yω¤⁵⊗-κ�κb5Aωγ⎚I0ê﹪oζM⟲ºh⟲⮌#⎇s▶‴ψ◧≔◨◧⁺4U×m∧üF↑⬤”‖O¬

나의 첫 번째 숯불 답변! :디

온라인으로 사용해보십시오!

디자인을 세로가 아닌 가로로 출력하여 줄을 줄임으로써 4 바이트를 절약했습니다.

8 바이트를 절약 한 @Neil에게 감사합니다!


‖B복수의 피연산자를 받아 어떤 조합이라도 단일 바이트 인코딩 (해야 ¬하고 L, 예를 들면).
Neil

또한 .s 대신 공백을 사용 하면 줄 끝에 공백이 필요하지 않으므로 몇 바이트를 절약해야합니다.
Neil

(수직 또는 수평 중 어느 것이 선의 끝에 더 많은 공간을 줄지 모르겠습니다).
Neil

‖B¬반사 문자열 리터럴에 추가 바이트가 필요하기 때문에 시도했지만 도움이되지 않지만 ‖BL줄 반전 문자열 리터럴이 동일한 바이트 수이므로 바이트를 저장합니다.
Neil

반면에 세로 출력의 경우 ‖BL83 바이트가 ‖B¬되며 81 바이트로 완료 할 수 있습니다. 온라인으로 사용해보십시오!
Neil

2

파이썬 2, 153 바이트

00000000: 2363 6f64 696e 673a 4c31 0a66 6f72 2079  #coding:L1.for y
00000010: 2069 6e20 7261 6e67 6528 2d33 302c 3331   in range(-30,31
00000020: 293a 733d 666f 726d 6174 2869 6e74 2827  ):s=format(int('
00000030: 0137 ec80 937f f739 027d 7209 37e7 395c  .7.....9.}r.7.9\
00000040: 30cc ef73 108c 1fff fe41 b14e fb14 1bfe  0..s.....A.N....
00000050: d364 09ce f7ff fc81 18c6 c811 8cec 8111  .d..............
00000060: 272e 656e 636f 6465 2827 6865 7827 295b  '.encode('hex')[
00000070: 6162 7328 7929 3a3a 3331 5d2c 3136 292c  abs(y)::31],16),
00000080: 2730 3132 6227 293b 7072 696e 7420 732b  '012b');print s+
00000090: 735b 2d32 3a3a 2d31 5d                   s[-2::-1]

온라인으로 사용해보십시오!


2

펄 5 , 121 바이트

용도 1흰색 픽셀과 0적색.

$_=unpack"B*",'ñæÄxããÄvñí·Ž2IŽ=·ñæÀxàƒxoá|3†øÞ<òà';say for(@a=map{s/.$//r.reverse}/.{12}/g),pop@a&&reverse@a

이 스크립트에는 인쇄 할 수없는 문자가 포함되어 있으므로 뒤집을 수있는 16 진수 덤프가 아래의 검증 링크에 포함되어 있습니다.

온라인으로 사용해보십시오!
코드 길이 확인 .

설명

패턴의 상위 1/4은 이진 Blob 내에 저장됩니다. 이것은 단지 펄의 사용 pack(교체 한 후 원래의 진수 문자열로 기능 .#함께 1하고 0). 이를 통해 각 바이트에 8 비트의 패턴을 저장할 수 있습니다. 데이터의 압축을 풀면 긴 바이너리 문자열이 생깁니다.이 바이너리 문자열은 길이가 12 인 섹션으로 분류되고 반대 (중복 된 중간 문자 제외)와 연결 된 다음 섹션 목록을 반복합니다 (반전과 연결됨) 중복 된 중간 요소를 제외하고 목록에서)를 사용하여 say개행을 추가하는을 사용하여 모두 출력하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.