स्थिति संबंधी जागरूकता


10

स्थिति संबंधी जागरूकता

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

अगर आपका प्रोग्राम है

Derp

आपको आउटपुट चाहिए

[0, 1, 2, 3]

(या कुछ समकक्ष)। इसका कारण यह है है Dमें है 0वें स्थान, eमें है 1, सेंट r 2nd, और तृतीय।p3

चलो एक और कार्यक्रम लेते हैं जो मूल कार्यक्रम है, लेकिन इसके पात्रों के साथ अनुमति दी गई है:

epDr

आपको आउटपुट चाहिए

[1, 3, 0, 2]

क्योंकि eमें है 1मूल कार्यक्रम के सेंट स्थिति, pमें है 3वां स्थिति, वें, और nd।D0r2

यदि मूल कार्यक्रम में दो दोहराए जाने वाले वर्ण हैं:

abcda -> [0, 1, 2, 3, 4]

तब क्रमपरिवर्तन के लिए, 0और 4सरणी में आरोही क्रम में होना चाहिए:

baadc -> [1, 0, 4, 3, 2] (0 first, then 4)

नियम:

  • आपके प्रोग्राम में कम से कम दो अद्वितीय वर्ण होने चाहिए।
  • अधिकांश floor(n/2)पात्रों पर एक ही होना है।

     aabb (acceptable)
     aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)
    
  • आपके प्रोग्राम का आउटपुट या तो एक सरणी (या कुछ इसी तरह) हो सकता है जिसमें सभी पात्रों के पद क्रम में हों, या किसी भी सीमांकक के साथ एक स्ट्रिंग हो, इसलिए ये पूरी तरह से ठीक हैं:

    [0, 1, 2, 3]
    0,1,2,3
    0 1 2 3
    

7
मुझे विश्वास नहीं है कि यह चुनौती किसी भी गैर-तुच्छ समाधान के लिए अनुमति देती है क्योंकि वस्तुतः किसी भी भाषा में किसी भी उत्तर की लंबाई> = ~ 5 हर क्रमपरिवर्तन के लिए एक वैध कार्यक्रम नहीं होगा, अकेले एक कार्यक्रम को हाथ में चुनौती देने दें।
orlp

1
@ Qwerp-Derp सैंडबॉक्स पर लगभग कोई भी कुछ नहीं कहता है। कुछ समय पहले, मैंने एक महीने (या तो) के लिए सैंडबॉक्स में रहने के बाद एक प्रश्न पोस्ट किया है। और केवल जब मैंने इसे पोस्ट किया है, तब था जब लोगों ने गलतियों को इंगित किया और नीचे बारिश हुई। मेरी ईमानदार राय में, सैंडबॉक्स बेकार है।
इस्माईल मिगुएल

1
एक बार के लिए, मुझे लगता है कि इस चुनौती में, एक लंबा जवाब एक छोटे से अधिक प्रभावशाली होगा।
वोजू

1
@Wojowu मैं इसे कोड-गेंदबाजी बना सकता हूं , अगर यह संभव है - सबसे लंबा कार्यक्रम जीतता है।
१४

1
12आर में कार्यक्रम मान्य होगा? यह बस प्रिंट होगा 12और यदि अनुमति हो; 21
बिलीवोब

जवाबों:


21

दरअसल , 2 बाइट्स

10

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

यह प्रिंट करता है

0
1

जबकि (केवल) अन्य क्रमपरिवर्तन

01

प्रिंट

1
0

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

वास्तव में, लगातार अंक अलग से पार्स किए जाते हैं, इसलिए स्टैक पर 110 धक्का देता है , फिर इसके ऊपर 0

जब प्रोग्राम पूरा हो जाता है, तो स्टैक ऊपर से नीचे तक मुद्रित होता है, इसलिए यह पहले 0 प्रिंट करता है , फिर एक लाइनफीड, फिर 1

विचलित कार्यक्रम 01विपरीत क्रम में, वही करता है।


1
अन्य भाषाओं में यह काम करता है; गंभीरता से, 05ab1e, ///, 2sable।
चैले पेलिकन

युक्ति कहती है कि संख्याओं को अलग करना होगा। यह गंभीर रूप से काम करता है, लेकिन वास्तव में वास्तव में सिर्फ Seriously 2.0 है।
डेनिस

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