रोटेशन-सुरक्षित क्वीन


17

एक उचित क्वीन लिखिए जिसका प्रत्येक घुमाव स्वयं एक उचित क्वीन है।

उदाहरण के लिए, यदि आपका स्रोत कोड है abcdef, तो:

  • abcdef उत्पादन होगा abcdef
  • bcdefa उत्पादन होगा bcdefa
  • cdefab उत्पादन होगा cdefab
  • defabc उत्पादन होगा defabc
  • efabcd उत्पादन होगा efabcd
  • fabcde उत्पादन होगा fabcde

एक घुमाव "एक स्ट्रिंग को दो टुकड़ों में विभाजित करके और उनके क्रम को उलट कर बनाया जाता है"

स्कोरिंग

यह । बाइट्स जीत में सबसे छोटा जवाब। मानक खामियां लागू होती हैं।


इसलिए मैं कार्यक्रम कर सकता था aaabbbऔर मैं कह सकता था कि अगला रोटेशन है bbbaaa? या फिर अगले चक्कर में पड़ना होगा baaabb?
बीटा डेके

1
अगले रोटेशन है baaabb
लीक

1
साइड नोट, मानक विखंडन क्वान रोटेशन-सेफ़ का एक अलग क्वीन है: चाहे आप इसे कैसे भी घुमाएँ, यह हमेशा मूल स्रोत कोड को प्रिंट करेगा।
मार्टिन एंडर

1
अगर किसी भाषा में एक क्वीन एक बाइट है, तो क्या वह धोखा है?
एमडी एक्सएफ

1
क्या यह एक उचित क्वीन है?
tsh

जवाबों:


10

मोटोरोला MC14500B मशीन कोड , 1 बाइट

1 बाइट स्कोर दो 4-बिट निर्देशों से लिया गया है:

0000 0010

व्याख्या

मोटोरोला MC145008 एक एकल चिप, एक-बिट, स्थिर CMOS प्रोसेसर है जो निर्णय-उन्मुख कार्यों के लिए अनुकूलित है। प्रोसेसर को 16-पिन पैकेज में रखा गया है और इसमें 16 चार-बिट निर्देश हैं। निर्देश डेटा पर तार्किक संचालन करते हैं जो एक बिट-बिडायरेक्शनल डेटा लाइन पर दिखाई देते हैं और आईसीयू के भीतर एक-सा रिजल्ट रजिस्टर में डेटा जमा करते हैं। सभी ऑपरेशन बिट स्तर पर किए जाते हैं।

प्रोसेसर के पिन गिने जाते हैं:

पिन असाइनमेंट

निर्देश, 4 अनुदेश पिन पर चिप के लिए प्रस्तुत कर रहे हैं ( I0, I1, I2, I3), और निर्देश रजिस्टर, (आईआर) में, एक्स 1 के नकारात्मक चल रही किनारे पर latched कर रहे हैं।

आम आदमी की शर्तों में, 7 के माध्यम से पिन 4, एक निर्देश के साथ निर्देश रजिस्टर प्रस्तुत करने के लिए उपयोग किया जाता है, लेकिन बिट्स को रिवर्स ऑर्डर में व्याख्या की जाती है। उदाहरण के लिए, निर्देश 0001में उच्च अवस्था में # 7 और निम्न अवस्था में 4 के माध्यम से पिन 6 होगा।

नियंत्रण तर्क (CTL) में निर्देश डीकोड किए गए हैं, जो एलयू को उचित लॉजिक कमांड भेज रहे हैं। इसके अलावा डिकोडिंग भी सीटीएल में किया जाता है उत्पादन झंडे के एक नंबर भेजने के लिए ( JMP, RTN, FLGO, FLGF) पिन 9 12 के माध्यम से ये बाहरी नियंत्रण संकेत के रूप में इस्तेमाल किया और एक्स 1 के नकारात्मक चल रही बढ़त के बाद एक पूर्ण घड़ी अवधि के लिए सक्रिय रहते हैं कर रहे हैं।

या, बस रखा, 9 के माध्यम से 12 पिन उत्पादन झंडे हैं FLGF, FLGO, RTN, और JMP, क्रमशः। ध्यान दें कि डेटा आमतौर पर WRITEपिन (पिन # 2) से गुणा किया जाता है। आउटपुट फ्लैग पिन अन्य भाषा के एक्ज़िट कोड के समान हैं।

आईसीयू के प्रत्येक निर्देश एक ही घड़ी की अवधि में निष्पादित होते हैं।

रोटेशन

प्रारंभिक स्थिति

0000    NOPO
0010    LDC

घड़ी की अवधि:

  1. NOPOअनुदेश पुट पिन # 10 ( FLGO) उच्च राज्य में। अगली घड़ी की अवधि से पहले, आउटपुट फ्लैग पिन वापस निम्न स्थिति में डाल दिए जाते हैं।
  2. LDCअनुदेश भार परिणाम रजिस्टर करने के लिए डेटा बस 'मूल्य के पूरक, उत्पादन ध्वज पिन को प्रभावित किए बिना।

इसलिए, प्रोग्राम की दो घड़ी की अवधि के दौरान, आउटपुट फ्लैग पिन का प्रतिनिधित्व किया गया है 0100 0000, जो रिवर्स (इनपुट पिन की तरह) में पढ़ा जाता है 0000 0010, या मूल निर्देश है।

पहला चक्कर

0010    LDC
0000    NOPO

घड़ी की अवधि:

  1. डेटा बस के पूरक को परिणाम रजिस्टर में लोड किया जाता है, जिसमें आउटपुट फ्लैग पिन का कोई प्रभाव नहीं होता है।
  2. उच्च अवस्था पर स्विच करने में # 10 पिन करें।

इन दो घड़ी अवधियों के दौरान, आउटपुट फ्लैग पिंस ने प्रतिनिधित्व किया है 0000 0100, जो उलट होने पर निर्देश हैं 0010 0000

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