यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का पाठ दिया गया है: दोहराए जाने वाले पैटर्न के साथ स्ट्रिंग के चक्रीय शिफ्ट को डिकोड करना
Kotlin
Hard
strings
कार्य «यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का पाठ दिया गया है: दोहराए जाने वाले पैटर्न के साथ स्ट्रिंग के चक्रीय शिफ्ट को डिकोड करना»
```html
<p>एक एन्कोडेड स्ट्रिंग दी गई है, जो मूल स्ट्रिंग को कुछ संख्या K (0 ≤ K < स्ट्रिंग की लंबाई) द्वारा बाईं ओर चक्रीय रूप से स्थानांतरित करके और फिर प्रत्येक वर्ण को उसके ASCII कोड से बदलकर प्राप्त की जाती है, जो दशमलव संख्या प्रणाली में लिखा गया है। मूल स्ट्रिंग में केवल लोअर केस लैटिन अक्षर (a-z) होते हैं और इसकी लंबाई 1000 से अधिक नहीं होती है। यह ज्ञात है कि मूल स्ट्रिंग लंबाई P (1 ≤ P ≤ स्ट्रिंग की लंबाई) के कुछ पैटर्न (टेम्पलेट) की बार-बार पुनरावृत्ति का परिणाम है - अर्थात स्ट्रिंग का रूप S = T + T + ... + T (पूर्णांक संख्या में) है। न्यूनतम संभव पैटर्न P की लंबाई ज्ञात करना और चक्रीय स्थानांतरण से पहले मूल स्ट्रिंग को पुनर्स्थापित करना आवश्यक है। यदि कई संभावित मूल स्ट्रिंग मौजूद हैं, तो वह चुनें जो शाब्दिक रूप से न्यूनतम हो (मूल, गैर-स्थानांतरित रूप में)। इनपुट डेटा: एक स्ट्रिंग जिसमें रिक्त स्थान से अलग किए गए पूर्णांकों का एक क्रम होता है - यह एन्कोडेड स्ट्रिंग है। अनुक्रम की लंबाई L (1 ≤ L ≤ 2000) है। आउटपुट डेटा: दो संख्याएँ - न्यूनतम पैटर्न P की लंबाई और स्थानांतरण मान K, और फिर अगली पंक्ति में पुनर्स्थापित मूल स्ट्रिंग (स्थानांतरण से पहले)। यदि पुनर्स्थापना संभव नहीं है, तो -1 आउटपुट करें।</p>
```
<p>एक एन्कोडेड स्ट्रिंग दी गई है, जो मूल स्ट्रिंग को कुछ संख्या K (0 ≤ K < स्ट्रिंग की लंबाई) द्वारा बाईं ओर चक्रीय रूप से स्थानांतरित करके और फिर प्रत्येक वर्ण को उसके ASCII कोड से बदलकर प्राप्त की जाती है, जो दशमलव संख्या प्रणाली में लिखा गया है। मूल स्ट्रिंग में केवल लोअर केस लैटिन अक्षर (a-z) होते हैं और इसकी लंबाई 1000 से अधिक नहीं होती है। यह ज्ञात है कि मूल स्ट्रिंग लंबाई P (1 ≤ P ≤ स्ट्रिंग की लंबाई) के कुछ पैटर्न (टेम्पलेट) की बार-बार पुनरावृत्ति का परिणाम है - अर्थात स्ट्रिंग का रूप S = T + T + ... + T (पूर्णांक संख्या में) है। न्यूनतम संभव पैटर्न P की लंबाई ज्ञात करना और चक्रीय स्थानांतरण से पहले मूल स्ट्रिंग को पुनर्स्थापित करना आवश्यक है। यदि कई संभावित मूल स्ट्रिंग मौजूद हैं, तो वह चुनें जो शाब्दिक रूप से न्यूनतम हो (मूल, गैर-स्थानांतरित रूप में)। इनपुट डेटा: एक स्ट्रिंग जिसमें रिक्त स्थान से अलग किए गए पूर्णांकों का एक क्रम होता है - यह एन्कोडेड स्ट्रिंग है। अनुक्रम की लंबाई L (1 ≤ L ≤ 2000) है। आउटपुट डेटा: दो संख्याएँ - न्यूनतम पैटर्न P की लंबाई और स्थानांतरण मान K, और फिर अगली पंक्ति में पुनर्स्थापित मूल स्ट्रिंग (स्थानांतरण से पहले)। यदि पुनर्स्थापना संभव नहीं है, तो -1 आउटपुट करें।</p>
```
इनपुट प्रारूप
एक पंक्ति, जिसमें पूर्णांक रिक्त स्थान से अलग किए गए हैं — एन्कोडेड स्ट्रिंग के कैरेक्टर कोड।
आउटपुट प्रारूप
पहली पंक्ति में दो पूर्णांक हैं: P और K। दूसरी पंक्ति में — शिफ्ट से पहले की मूल स्ट्रिंग है। यदि कोई हल नहीं मिलता है, तो -1 आउटपुट करें।
उदाहरण
उदाहरण 1
इनपुट
99 97 98 99 97 98
आउटपुट
3 1
abcabc
उदाहरण 2
इनपुट
97 98 97 98
आउटपुट
2 0
abab
main.kt