चुनौती
दो तारों को देखते हुए, प्रत्येक की लंबाई 30 तक होती है, जिसमें मुद्रण योग्य ASCII वर्ण (कोड ) शामिल होते हैं, उन्हें कोड के सबसे कम बाइट्स में एक संतुलन पैमाने पर रखा जाता है! इसमें निम्न चरण शामिल हैं:
- गणना करें और तारों के वजन की तुलना करें
- उचित रूप से झुका हुआ ASCII- कला स्केल चुनें
- पैमाने पर दो तार रखें
तार को एक सरणी, दो तर्क या किसी अन्य उचित विधि के रूप में पारित किया जा सकता है।
एक स्ट्रिंग के वजन कि स्ट्रिंग के पात्रों, जहां के वजन की राशि के रूप में परिभाषित किया गया है:
- रिक्त स्थान का वजन 0 (
) है - लोअरकेस अक्षर का वजन 2 है (
abcdefghijklmnopqrstuvwxyz) - अपरकेस अक्षरों में 4 का वजन होता है (
ABCDEFGHIJKLMNOPQRSTUVWXYZ) - अन्य सभी प्रतीकों का वजन 3 है (
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~)
तराजू इस तरह दिखते हैं:
। _
| _- * / \
| - * / \
_- * | / \ _
_- * | / \ _
/ \ / | * ------ *
/ \ / |
/ \ / |
/ \ / |
* ------ * |
______ | ______
_
/ \ * -_ |
/ \ * - |
/ \ | * -_
/ \ / | * -_
* ------ * | / \
| / \ _
| / \ _
| / \ _
| * ------ *
______ | ______
।
|
______ | ______
/ \ / | / \
/ \ / | / \ _
/ \ / | / \ _
/ \ / | / \ _
* ------ * | * ------ *
|
|
______ | ______
यदि पहली स्ट्रिंग भारी है, तो अपने आउटपुट के आधार के रूप में पहली ड्राइंग का उपयोग करें; यदि दूसरा तार भारी है, तो दूसरी ड्राइंग का उपयोग करें; यदि तारों का वजन समान है, तो तीसरे का उपयोग करें। अनुगामी व्हाट्सएप की अनुमति है।
मैं निम्नलिखित सभी उदाहरणों के आधार के रूप में तीसरी ड्राइंग के एक सेगमेंट का उपयोग करूंगा।
पहला स्ट्रिंग बाएं पैन पर और दूसरा स्ट्रिंग दाईं ओर रखा जाना चाहिए।
अपने गैर-अंतरिक्ष वर्णों को डैश के ठीक ऊपर 6x5 क्षेत्र में रखकर पैन पर एक स्ट्रिंग रखें , जैसा कि #यहाँ एस द्वारा चिह्नित है (आप संतुलन पैमाने के ओवरराइटिंग भाग को समाप्त कर सकते हैं - यह ठीक है):
###### _ ###### ###### ###### / ###### \ * ------ *
इन सभी पात्रों को "व्यवस्थित" होना चाहिए। या तो एक -चरित्र के ऊपर या दूसरे वर्ण से स्ट्रिंग:
गलत गलत सुधार
____ ____ ____
f / \ / \ / \
l \ / \ / \
/ \ / होव \ / s \
/ oating \ / eri ng \ / ettled \
* ------ * * ------ * * ------ *
इसके अतिरिक्त, पूरे स्टैक को जितना संभव हो उतना सपाट होना चाहिए, जिसका अर्थ है कि छह 1-चौड़ा स्तंभों में, सबसे ऊंची और सबसे छोटी की ऊंचाई 1 से अधिक नहीं होनी चाहिए:
गलत गलत सुधार
[सबसे लंबा: 5] [सबसे लंबा: 4] [सबसे लंबा: 5] [सबसे लंबा: 2]
[सबसे छोटा: 0] [सबसे छोटा: 2] [सबसे छोटा: ४] [सबसे छोटा: २]
5__5_ ____ 5_5__ ____
45445 और / 445454 / \
45445 $% और $ @ 445454 / \
/ 45445 और% @% $ और 445454% और $ @% &
/ 45445 \ / & $ @ $ &% \ / 445454 \ / $ @ $% $ $ $
* ------ * * ------ * * ------ * * ------ *
पात्रों का सटीक क्रम / व्यवस्था मायने नहीं रखती है। निम्नलिखित स्ट्रिंग के लिए सभी मान्य व्यवस्थाएं हैं "अपने शब्दों का वजन!"
____ ____ ____ ____ / \ / \ / \ / \ डी एस! \ / उल्लू ओए \ u! Wd \ अवरोर वियहोस योविग्र इगियो / वजनी \ / egyrr! / / Wrhd! S \ / rrsuwy \ * ------ * * ------ * * ------ * * ------ *
परीक्षण के मामलों
INPUT: "CODE GOLF", "कोडिंग चुनौतियां"
वजन: 32, 32
उदाहरण के लिए:
।
|
______ | ______
/ \ / | / \
/ \ / | nge \ रों
/ OO \ _ | challe
/ CFGLED \ | / कोडिंग \
* ------ * | * ------ *
|
|
______ | ______
INPUT: "", "$"
वजन: 0, 3
उदाहरण के लिए:
_
/ \ * -_ |
/ \ * - |
/ \ | * -_
/ \ / | * -_
* ------ * | / \
| / \ _
| / \ _
| / $ \
| * ------ *
______ | ______
INPUT: "आप जानते हैं कि वे क्यों कहते हैं!", "There_always_a_relevant_nk"
वजन: 75, 65
उदाहरण के लिए:
। tr_a_s
| _hekx_y
| - * इल्कट्टा
_- * | revanw
_- * | / E's_al \
टी / \ | * ------ *
AUYOHY |
A - HWYK |
/ OTSMEW \ |
* ------ * |
______ | ______
+1। सबसे पहले: अगर रिक्त स्थान कुछ भी "वजन" नहीं करते हैं और कलाकृति में शामिल नहीं होते हैं तो उन्हें क्यों शामिल करें? पहले उन्हें छानना अनावश्यक अनावश्यक है। दूसरी बात: यह मुझे "2-इन -1" / गिरगिट चुनौती की तरह लगता है - चुनौती 1: यह निर्धारित करें कि कौन सा स्ट्रिंग "भारी" है, चुनौती 2: कुछ ASCII- कला उत्पन्न करें।