मुझे पिज्जा बनाओ


17

क्योंकि यह शनिवार (यूटीसी) है और मुझे भूख लगी है, मैं पिज्जा का एक टुकड़ा चाहूंगा। मैं आपको एक आदेश दूंगा और मुझे एक अच्छा गर्म पिज्जा चाहिए। चुनौती तक?

द ड्राइव-थ्रू

मैं अपना आदेश उस स्थान पर रखूँगा जहाँ आपका ड्राइव-थ्रू है, चाहे वह STDIN हो, एक फ़ंक्शन पैरामीटर, एक कमांड-लाइन तर्क, लेकिन मैं इसे आपके लिए एक चर में नहीं डालने जा रहा हूँ। (जेएस फ़ंक्शन अभिव्यक्तियों को एक चर को सौंपा जाना चाहिए।)

आदेश

मेरे आदेश के 2 भाग होंगे। पहले से एक सकारात्मक, गैर-शून्य पूर्णांक 3होगा 6। यह मेरे पिज्जा का आकार है। उदाहरण के लिए, 6बिना टॉपिंग वाले एक आकार का पिज्जा जैसा दिखेगा:

 /=====\
/       \
|       |
|       |
\       /
 \=====/

एक आकार 5:

 /====\
/      \
|      |
\      /
 \====/

एक आकार 4:

 /===\
|     |
|     |
 \===/

एक आकार 3

 /==\
|    |
 \==/

टॉपिंग

मेरा टॉपिंग UPPERCASE अक्षरों का एक स्ट्रिंग होगा। यहां संभावित मूल्य दिए गए हैं:

पी - पेपरोनी
एस - सॉसेज
एन - piNeapple
जे - जलापनो
बी - केला मिर्च
सी - बाकोन

आप उन्हें पिज्जा पर कहीं फिट कर दें। यदि मैं 4 आकार का ऑर्डर करता हूं PSPCJ, तो यह एक वैध आउटपुट है:

 /===\
|PSPCJ|
|     |
 \===/

तो यह है:

 /===\
|P P J|
| S C |
 \===/

और इस:

 /===\
|     |
|PSPCJ|
 \===/

मैं वास्तव में पिकी के बारे में नहीं जानता कि मेरे टॉपिंग पिज्जा पर कहां हैं, जब तक वे क्रस्ट पर या एक-दूसरे के ऊपर नहीं हैं।

पिक-अप विंडो

मैं अपने पिज्जा लेने के लिए बहुत सारी जगहों पर जाऊंगा, जिसमें STDOUT, एक फाइल, एक फ़ंक्शन का रिटर्न वैल्यू, लेकिन एक वेरिएबल नहीं है।

अतिरिक्त सामान

  • मानक खामियों से मना किया
  • यह टैग है इसलिए बाइट्स जीत में सबसे छोटा जवाब है!
  • अमान्य इनपुट (टॉपिंग> पिज़्ज़ा स्पेस, आदि) के बारे में चिंता न करें
  • एक उदाहरण के लिए नीचे मेरा जवाब (JS ES6) देखें (मुझे आशा है कि आप बेहतर कर सकते हैं)

3
उम्म, तो आप अपने पिज्जा को ड्राइव-थ्रू पर भी उठा सकते हैं?
मैथ्यू रोह

1
क्या आप मेरे बारे में पिक्सी बॉक्स के साथ पिज्जा बॉक्स के शीर्ष दाएं और निचले दाएं कोनों को भर रहे हैं? ;)
डीएलोस्क

1
@ डलास नं, किसी भी पंक्ति के अंत में कोई अनुगामी व्हाट्सएप (आउटपुट के अंत में अनुगामी न्यूलाइन सहित) वैकल्पिक है लेकिन आवश्यक नहीं है।
प्रोग्रामर

1
कर सकते हैं पिज्जा है एक से अधिक के लिए एक द टॉपिंग ̶ तो अगर आप की तरह अनानास: ̶ ̶ ̶5̶,̶ ̶N̶N̶N̶̶ भी एक मान्य इनपुट ̶ (चाहिए या यह हो ̶ ̶5̶,̶ ̶N̶̶ बजाय) ̶ ̶ इसके अलावा, जहां मशरूम हैं ..? :( EDIT: पहले प्रश्न के बारे में कोई बात नहीं, मुझे लगता है कि आपके परीक्षण मामलों में 2x है P
केविन क्रूज़सेन

क्या मैं ऑर्डरअप लिंक पोस्ट कर सकता हूं ? xD
FantaC

जवाबों:


1

पिप , 87 81 75 बाइट्स

-lध्वज के लिए कोड के 74 बाइट्स, +1 ।

e:'/.'=Xa-1.'\Y['/'\]Xa//5J'|X2-a%2^xPs.ePy.(b.sXa*a-a-2-#b<>a+1).RVys.RVe

कमांड-लाइन तर्कों के रूप में इनपुट लेता है। इसे ऑनलाइन आज़माएं!

पहुंच

eशीर्ष पंक्ति है, जैसे कि /=====\। यदि आप इसे उल्टा करते हैं, तो यह नीचे की पंक्ति भी है।

yबाईं सीमा है, जैसे कि ["/" "|" "|" "\"]। यदि आप इसे उल्टा करते हैं, तो यह सही सीमा भी है।

तब हम bटॉपिंग, टॉपिंग को मध्य स्थान तक ले जाते हैं , इसे रिक्त स्थान के साथ लंबाई (a+1)*(a-2)(जहां aआकार है) के साथ पेडिंग करते हैं , और पंक्तियों की सूची में समूहित करते हैं।

अंत में, हम शीर्ष पंक्ति को एक अग्रणी स्थान के साथ प्रिंट करते हैं; yबाईं और RVyदाईं ओर के बीच के मध्य को समतल करें , और इसे प्रिंट करें; और एक अग्रणी स्थान के साथ नीचे की पंक्ति प्रिंट करें।


क्या यह पनीर (टॉपिंग नहीं) पिज्जा के साथ काम करता है?
प्रोग्रामर

@ प्रोग्रामर 5000 हां - उस स्थिति में दूसरी cmdline arg एक खाली स्ट्रिंग होनी चाहिए (यदि आप इसे वास्तविक कमांड-लाइन से चला रहे हैं, तो आपको इसे उद्धृत करना होगा)।
DLosc

5

पायथन 2 , 202,198,190,177,162,157, 146 बाइट्स

n,t=input()
y=n+1
s=' '
l=' /'+'='*(n-1)+'\\ '+('','\n/'+s*y+'\\')[n>4]+'\n|'
print l+t[:y].center(y,s)+('','|\n|'+t[y:].center(y,s))[y%2]+l[::-1]

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


अरे, आप निर्दिष्ट कर सकते '\\', '|', और '/चर के लिए कुछ बाइट्स बंद गोल्फ के लिए? यही कारण है कि मैंने अपने जेएस जवाब से बहुत मुंडा लिया।
प्रोग्रामर

मैं बस उस पर काम कर रहा हूँ !!!!
कीर्तन प्रभाकरन

1
इसके अलावा, आप पहली जगह ले सकता है (n-1)के साथ (--n), n>4के साथ n>3, (n+1)के साथ (n+2), और अंतिम (n-1)साथ n4 बाइट बंद दाढ़ी के लिए?
प्रोग्रामर

2
अजगर समर्थन --ऑपरेटर नहीं है!
कीर्तन प्रभाकरन



1

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

(n,t,a=[1,,n%2||2,,1])=>` /=\\
/___\\
|___|
\\___/
 \\=/`[r=`replace`](/.+/g,s=>s.repeat(a.pop()||n>4))[r](/=|_\b/g,`$&`.repeat(n-1))[r](/_/g,_=>t[i++]||` `,i=0)

चौड़ाई 2 और ऊंचाई 5 के एक मिज़पेन पिज्जा लेने से शुरू होता है और इसे क्षैतिज रूप से फैलाता है और इसे उपयुक्त रूप से लंबवत रूप से समायोजित करता है, फिर एक बार बाहर निकलने पर टॉपिंग या रिक्त स्थान के साथ इंटीरियर को बदल देता है।


0

जेएस (ईएस 6), 257 255 249 248 246 244 बाइट्स

m=s=>t=>(r="/",k="\\",p=" ",f="\n",x="|",c=f+x,q="",t=p+t,z=(s>2?p:q)+r+"=".repeat(s-1)+k+(s>4?f+r+p.repeat(++s)+k:q)+c+p.repeat(s)+x+(!s?c+p.repeat(s)+x:q)+p+(s>5?f+k+p.repeat(s)+r:q)+f+p+k+"=".repeat(s-2)+r,i=-1,z.replace(/ /g, x=>t[++i]||p))

इसे m(4)("PS")1 पेपरोनी और 1 सॉसेज के लिए पसंद करें । शायद अधिक गोल्फ हो सकता है।


1
जीजा, कुछ अन्य लोगों को जवाब देने के लिए समय दें: पी
पावेल

1
@ Григорий Перельман मैं सिर्फ एक उदाहरण प्रदान करना चाहता था, मुझे उम्मीद है कि यह जीत नहीं होगी।
प्रोग्रामर

0

लकड़ी का कोयला , 37 बाइट्स

Nθ /==×=⸿/›θ⁴⸿|‖BO↓﹪θ²‖BO⊕﹪θ²J¹¦¹⪪S⊕θ

इसे ऑनलाइन आज़माएं!लिंक कोड के वर्बोज़ संस्करण के लिए है। स्पष्टीकरण:

Nθ

पिज्जा का आकार इनपुट करें।

 /==

पिज्जा के ऊपर से छपाई शुरू करें।

×=⸿/›θ⁴

यदि पिज्जा बड़े आकारों में से एक है, तो ऊपर और साइड में अतिरिक्त जोड़ें।

⸿|

पिज्जा के किनारे अधिक प्रिंट करें।

‖BO↓﹪θ²

संभव ओवरलैप के साथ प्रतिबिंब द्वारा पिज्जा के बाएं आधे को पूरा करें।

‖BO⊕﹪θ²

चर ओवरलैप के साथ प्रतिबिंब द्वारा पिज्जा को पूरा करें।

J¹¦¹⪪S⊕θ

टॉपिंग इनपुट करें और उन्हें टुकड़ों में विभाजित करें ताकि वे पिज्जा के अंदर फिट हो जाएं।

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