परिचय
हाल ही में, मुझे Swype के साथ टाइप करने की आदत हो गई है ।
मैंने देखा है कि कुछ शब्द आपके शुरुआती अक्षर से लेकर आपके अंत अक्षर तक एक सीधी रेखा खींचकर या फिर दोहराने वाले अक्षरों को छोड़ कर पैदा किए जा सकते हैं।
उदाहरण के लिए, मैं balloonनिम्नलिखित अक्षरों में स्वाइप करके शब्द टाइप कर सकता हूं :
b> a> l> o> n।
चुनौती
हमें परिभाषित करते हैं सबसे छोटा Swype पथ , या SSPअलग पहचाना रेखा खंड एक स्ट्रिंग टाइप करने के लिए की जरूरत की न्यूनतम संख्या के रूप में,। एक पंक्ति खंड किसी भी दो, या अधिक, अक्षरों के बीच एक निरंतर सीधी रेखा है। दिशा में कोई भी परिवर्तन एक नई लाइन सेगमेंट शुरू करता है - हालांकि कुछ शब्द केवल एक सीधी रेखा खींचकर स्वाइप किया जा सकता है।
इस सरल QWERTY कीबोर्ड लेआउट का उपयोग करें :
q w e r t y u i o p
a s d f g h j k l
z x c v b n m
उपरोक्त उदाहरण में, शब्द balloonएक होगा SSPकी 4नीचे के रूप में अनुक्रम में विस्तृत:
1) Start at `b` (line segments = 0)
2) slide to `a` (line segments = 1)
3) slide to `l` (line segments = 2)
4) slide to `o` (line segments = 3)
5) slide to `n` (line segments = 4)
स्ट्रिंग qwertyमें SSP= 1 है क्योंकि इस शब्द को स्वाइप करते समय दिशा में कोई बदलाव की आवश्यकता नहीं है।
इनपुट
एक एकल शब्द स्ट्रिंग जिसमें a-zSTDIN, फ़ंक्शन तर्क, या कमांड लाइन शामिल हैं।
उत्पादन
STDOUT, रिटर्न, या अपनी भाषाओं के माध्यम से प्रिंट करें निकटतम विकल्प, nस्ट्रिंग का प्रतिनिधित्व करने वाली संख्या SSP।
आउटटूट में वैकल्पिक एक अनुगामी न्यूलाइन। मानक खामियों को दूर किया। बाइट्स में सबसे कम सबमिशन जीतता है।
टिप्पणियाँ
- दिशा में बदलाव से एक नया लाइन सेगमेंट शुरू होता है।
- दोहराए जाने वाले पत्रों को केवल एक बार गिना जाता है (जैसे:
bookkeeperइलाज किया जाना चाहिएbokeper)। - आम तौर पर, स्वपे ने पड़ोसी पत्रों को देखकर और अपने सबसे अच्छे अनुमान में याद किए गए अक्षरों को याद किया। इस चुनौती के लिए, मान लें कि कोई प्राकृतिक भाषा संवर्द्धन, भविष्य कहनेवाला पाठ या त्रुटि सुधार नहीं है।
- अपरकेस
A-Zइनपुट्स को उनके लोअरकेस समकक्षों की तरह माना जाता है। 0-9इनपुट में किसी भी संख्या को अनदेखा करें ।- विकर्ण रास्तों अनुमति दी जाती है - जो है, एक सीधी रेखा है कि कवर पत्र
o,k,n, उदाहरण के लिए, के रूप में गिनती1खंड। यह नियम के लिए किसी भी विकर्ण ढलान पर लागू होता है (जैसे: पत्रc,h,iकतार में हैं)।
उदाहरण
Input Output
---------------------
a 0
aa 0
aaaaaa 0
aaaaaabc 2
in 1
int 2
java 3
qwerty 1
chicago 5
balloon 4
BALLOON 4
typewriter 5
bookkeeper 6
stackexchange 11
2hello7 3
2HELLO7 3