बेलारूस भाग गया


19

हमें पहले से ही कुछ राष्ट्रीय ध्वज चुनौतियाँ मिली हैं: AU CH FI FR GB GB IS KR NP US ... यहाँ एक और, कुछ और अधिक उन्नत है:

लाल और सफेद दो अलग-अलग मूल्यों के मैट्रिक्स के रूप में बेलारूस के राष्ट्रीय ध्वज से सजावटी पैटर्न को लौटाएं या प्रिंट करें ।

rushnyk

यदि आपकी भाषा मैट्रिसेस का समर्थन नहीं करती है, तो सूचियों की सूची या निकटतम समकक्ष का उपयोग करें। सभी तरफ अतिरिक्त व्हाट्सएप की अनुमति है। मैट्रिक्स को ट्रांसपोज़ किया जा सकता है। तत्वों में एक अलग विभाजक हो सकता है, और इसलिए पंक्तियाँ, उदाहरण के लिए उत्पादन JSON हो सकता है। आपको 1951 या 1995 के संस्करणों के नहीं, 2012 के आभूषण पैटर्न के संस्करण का उपयोग करना चाहिए। यह , इसलिए प्रति भाषा सबसे कम उत्तर जीतता है।

नमूना उत्पादन:

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

जवाबों:


7

स्टैक्स , 68 बाइट्स

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

इसे चलाएं और डीबग करें

1सफेद के लिए, 0लाल के लिए , ऊर्ध्वाधर संस्करण आउटपुट करता है । भोला-भाला दृष्टिकोण: शीर्ष छोड़ दिया तिमाही, फिर पूरा करें।


4

पायथन 2 , 183 181 बाइट्स

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सफेद और लाल के लिए।


क्या यह ध्वज के लिए मानों की संपूर्ण स्ट्रिंग को संपीड़ित करता है?
रघु रंगनाथन

@RaghuRanganathan केवल एक चौथाई। for s in S[:0:-1]+S:print s[:0:-1]+sलाइनों दोगुना हो जाता है, और मुद्रित प्रत्येक पंक्ति दोगुनी
TFeld

3

जावास्क्रिप्ट (ईएस 6), 164 बाइट्स

ट्रांसपोज़्ड आउटपुट। 0सफेद के लिए उपयोग करता है, 1लाल के लिए।

f=(x=y=0)=>y<61?x>22?`
`+f(!++y):(-~'o`xb[FMMf[MM[Fxbo`cCMMZZMMcCo`xb{F}N~~N}}{[wH{?]@NbfvB}H{Wwooa'.charCodeAt((y>30?60-y:y)*2+(X=x>11?22-x:x)/6)>>X%6&1)+f(x+1):''

इसे ऑनलाइन आज़माएं! (पहले से तैयार आउटपुट)

Node.js में बफर () का उपयोग करके 1 बाइट बचाता है।



3

चारकोल, 93 89 81 बाइट्स

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

मेरा पहला चारकोल जवाब! : डी

इसे ऑनलाइन आज़माएं!

लंबवत (कम newlines) के बजाय क्षैतिज रूप से डिज़ाइन आउटपुट करके 4 बाइट्स सहेजे गए।

@ 8 बाइट बचाने के लिए @ नील को धन्यवाद!


‖Bकई ऑपरेंड को स्वीकार करता है, कुछ संयोजनों में एकल-बाइट एन्कोडिंग ( ¬और Lउदाहरण के लिए) भी है।
नील

इसके अलावा, .एस के बजाय रिक्त स्थान का उपयोग करके आपको कुछ बाइट्स को सहेजना चाहिए क्योंकि आपको किसी पंक्ति के अंत में रिक्त स्थान की आवश्यकता नहीं है।
नील

(मुझे नहीं पता कि कौन सी लंबवत या क्षैतिज रूप से लाइनों के छोर पर अधिक रिक्त स्थान का परिणाम होगा)।
नील

मैंने कोशिश की ‖B¬और यह मदद नहीं करता है क्योंकि प्रतिबिंबित स्ट्रिंग शाब्दिक में एक अतिरिक्त बाइट खर्च होती है, लेकिन ‖BLएक बाइट को बचाता है क्योंकि लाइन-उलट स्ट्रिंग शाब्दिक एक ही बाइट गिनती है।
नील

दूसरी ओर, ऊर्ध्वाधर आउटपुट के लिए, ‖BLमुझे 83 बाइट्स मिलते हैं, और ‖B¬81 बाइट्स में किया जा सकता है: इसे ऑनलाइन आज़माएं!
नील

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

इस स्क्रिप्ट में अनपेक्षित वर्ण हैं, इसलिए प्रतिवर्ती लिंक में एक प्रतिवर्ती हेक्सडंप शामिल है।

इसे ऑनलाइन आज़माएं!
कोड लंबाई का सत्यापन

व्याख्या

पैटर्न की शीर्ष तिमाही बाइनरी बूँद के भीतर जमा होती है। यह सिर्फ पर्ल के उपयोग करता packमूल बाइनरी स्ट्रिंग के साथ समारोह (प्रतिस्थापित करने के बाद .और #साथ 1और 0)। यह हमें प्रत्येक बाइट में पैटर्न के 8 बिट्स को स्टोर करने की अनुमति देता है। एक बार जब हम डेटा को अनपैक कर लेते हैं, तो हमारे पास लंबी बाइनरी स्ट्रिंग होती है, जिसे हम लंबाई 12 के खंडों में तोड़ते हैं, रिवर्स के साथ कंक्रीटिंग करते हैं (डुप्लिकेट मध्य चरित्र को छोड़कर) और फिर वर्गों की सूची पर लूप करें (रिवर्स के साथ मिला हुआ डुप्लिकेटेड मध्य तत्व को छोड़कर) सूची में, और उन सभी का उपयोग करके आउटपुट करता है say, जो एक नई पंक्ति में जोड़ता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.