समुद्र तट पर एक दिन


14

इस चुनौती से प्रेरित है


लक्ष्य:

लक्ष्य एक समुद्र तट पर दुर्घटनाग्रस्त लहरों को आकर्षित करना है।

इनपुट:

आपको इनपुट के रूप में 3 पूर्णांक (जो भी प्रारूप में आप चाहते हैं) दिए जाएंगे।
पहला पूर्णांक ड्राइंग की लंबाई होगा दूसरा पूर्णांक सैंडबार का सूचकांक होगा, जहां लहरें शिखा से शुरू होती हैं (समुद्र तट से कम से कम 3 रिक्त स्थान)
तीसरा पूर्णांक तरंगों (कम से कम 3, के बीच का अंतर हो सकता है) ड्राइंग की लंबाई से अधिक हो, जिस स्थिति में आप केवल एक लहर खींचते हैं)

आउटपुट:

आउटपुट पात्रों का एक बॉक्स होगा जो समुद्र तट में लहरों को दुर्घटनाग्रस्त करता है। जब पहली लहर समुद्र तट में दुर्घटनाग्रस्त हो गई हो, तो ड्राइंग समाप्त होनी चाहिए।

सबसे पहले, लहर को प्रफुल्लित ( _-_) के रूप में दिखाया गया है ।
जैसे ही लहर सैंडबार से गुजरती है, यह शिखा ( /c_) से शुरू होती है ।
अंत में, लहर समुद्र तट में दुर्घटनाग्रस्त हो जाती है ( /c.=> _-_=> ___=> __.)।

उदाहरण:

इनपुट: १४ ४ ६

आउटपुट:

-___________..  
_-__________..  
__-_________..  
___-________..  
___/c_______..  
____/c______..  
-____/c_____..  
_-____/c____..  
__-____/c___..  
___-____/c__..  
___/c____/c_..  
____/c____/c..  
-____/c____-_.  
_-____/c_____.  
__-____/c___..

इनपुट: १०, २, ११

आउटपुट:

-_______..
_-______..
_/c_____..
__/c____..
___/c___..
____/c__..
_____/c_..
______/c..
_______-_.
_________.
________.. 

इनपुट: ६ ० ३

c___..
/c__..
_/c_..
c_/c..
/c_-_.
_/c__.
c_/c..

नियम:

स्टैंडर्ड लोफॉल्स लागू होते हैं

यह इसलिए सबसे छोटा कोड जीतता है


2
·ASCII नहीं है, जो कुछ भाषाओं को बाहर कर सकता है। क्या इसे द्वारा प्रतिस्थापित किया जा सकता है .?
लुइस मेंडो

@LuisMendo समुद्र तट को ASCII अवधि माना जाता है। समुद्र तट में लहर के दुर्घटनाग्रस्त होने का उदाहरण इस अवधि के व्यावहारिक रूप से अदृश्य होने के कारण है।
f --n 17tɪk

1
जो मुझे विपरीत प्रश्न की ओर ले जाता है: क्या हम ·ASCII अवधि के बजाय उपयोग कर सकते हैं ? (यह वास्तव में मेरे कोड में एक बड़ी जीत है।)
अरनौल्ड

या तो उपयोग करना चाहिए या ठीक होना चाहिए। विचार यह है कि कोड आउटपुट उदाहरण आउटपुट के अनुरूप दिखाई देता है।
f --n

जवाबों:


5

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

यह कोड # 1252 कोड पेज मान रहा है और ·चरित्र (0xB7) का उपयोग कर रहा है । 3 अलग मापदंडों के रूप में इनपुट लेता है (a,b,c)

(a,b,c,R=n=>'_'.repeat(n-2),s=(x=b?'-':'c')+R(a-1)+'··')=>(g=j=>s+`
`+((F=`__·$,_-_·,/c··,-__,^${C=R(b>2?b:2)}__-,/c_,^c_,^_${S=R(c)},_··,___·,_-_·,_-_,${C}/c_,_/c,/c,${x+S}`.split`,`).map((r,i)=>s=i&8?s:s.replace(RegExp(r,'g'),F[i+8])),j--?g(j):''))(a)

यह काम किस प्रकार करता है

यह कोड एक स्ट्रिंग के साथ शुरू होता है जैसे -______··कि तरंगों को चेतन करने के लिए प्रत्येक पुनरावृत्ति पर क्रमिक नियमित अभिव्यक्तियाँ लागू होती हैं।

उदाहरण के लिए के -__साथ बदल दिया गया है _-_

सबसे पहले, यह एक उचित विचार की तरह लग रहा था। हालांकि, यह तथ्य कि स्ट्रिंग एक के साथ शुरू हो सकती है c(जैसे कि यह तीसरे परीक्षण के मामले में है) चीजों को काफी जटिल बनाता है।

परीक्षण के मामलों


2

बैच, 273 243 बाइट्स

@echo off
set f=for /l %%i in (0,1,%1)do call
set s=set b=
%s%.. 
%f% %s%_%%b%%
%f%:c %%i %2 %3
exit/b
:c
set/aw=%1%%%3
if %w%==0 %s%__-%b:~3%
if %w%==%2 %s%%b:_-=/c%
%s%_%b:~0,-4%%b:~-3%
%s%%b:__. =_.. %
%s%%b:/.=-_%
echo %b:~3%

नोट: पंक्ति 4 पर पीछे की ओर स्थान। यदि केवल दो समुद्र तट वर्ण अलग-अलग होते, तो मैं 3 बाइट्स बचा सकता था और वास्तव में जावास्क्रिप्ट को हरा सकता था!

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