लैपटॉप पर टाइप करने की अगली क्रांति स्विफ्टके द्वारा अप्रैल, 2014 को जारी की गई थी । हालाँकि, मैं स्वाइपिंग नैनो क्लोन लिखने वाला पहला व्यक्ति बनना चाहता हूं, लेकिन, जैसा कि मैं वास्तविक-टेक्स्ट लाइब्रेरी में एक अच्छा स्वाइप-टेक्स्ट नहीं पा सकता हूं, और मैं उनके लिए इंतजार नहीं कर सकता, मैं यहां पूछ रहा हूं।
कार्य
एक प्रोग्राम लिखें जो स्वाइप-टेक्स्ट में हो और वास्तविक-टेक्स्ट के समकक्ष आउटपुट हो। उदाहरण:
Input: hgrerhjklo
Output: hello
जब उपयोगकर्ता करता है:
अन्य उदाहरण:
Input: wertyuioiuytrtjklkjhgfd
Output: world
Input: poiuytrtyuioiugrewsasdfgbhnmkijnbg
Output: programming
Input: poiuygfdzxcvhjklkjhgres
Output: puzzles
Input: cvhjioiugfde
Output: code
Input: ghiolkjhgf
Output: golf
नियम
- इस कार्यक्रम में स्टड या आर्गव पर एक स्वाइप 'शब्द' लिया जाएगा
- स्वाइप इनपुट का पहला और आखिरी अक्षर वास्तविक शब्द के पहले और आखिरी अक्षर के बराबर होगा
- आप मान सकते हैं कि उपयोगकर्ता यथोचित सीधी रेखाएँ बनाएगा, लेकिन आप इसे सत्यापित करने के लिए नमूना डेटा का उपयोग कर सकते हैं (मैंने नमूना डेटा बनाया है, और मैं अंतिम परीक्षण डेटा बनाऊंगा)
- अस्पष्ट इनपुट के लिए, आप या तो आउटपुट का चयन कर सकते हैं, लेकिन मैं परीक्षण डेटा से सभी अस्पष्टता को मिटाने की कोशिश करूंगा
- यह शब्द इस शब्द सूची (लेकिन स्वाइप) में होगा। शब्द सूची वर्तमान निर्देशिका में होगी, और इसे पढ़ा जा सकता है (नई पंक्ति अलग, नाम दिया जाएगा
wordlist
, कोई विस्तार नहीं)। - स्वाइप में केवल लोअरकेस एल्फाबेटिक अक्षर होंगे
- यदि उपयोगकर्ता कुंजी पर रुकता है तो स्वाइप में डुप्लिकेट वर्ण हो सकते हैं
- कार्यक्रम को स्टडआउट पर आउटपुट होना चाहिए (मामला कोई फर्क नहीं पड़ता)
- प्रोग्राम को
0
रिटर्न कोड के रूप में लौटना चाहिए - आपको रन कमांड, कंपाइल कमांड (यदि आवश्यक हो), नाम और किस इनपुट पथ का उपयोग करना होगा
- मानक कमियां लागू होती हैं (वे मदद नहीं कर सकती हैं, हालांकि)
- किसी भी गैर-निर्मित पुस्तकालय की अनुमति नहीं है
- नियतात्मक, गैर गोल्फ / obfuscated समाधान पसंदीदा
- कोई फ़ाइल लेखन, नेटवर्किंग, आदि।
- आपका कोड एक सेकंड या उससे कम में चलना चाहिए (आपका कोड प्रति शब्द एक बार चलाया जाता है)
- स्कोरिंग रन एक इंटेल i7 हसवेल प्रोसेसर पर चलते हैं, जिसमें 4 वर्चुअल कोड (2 असली वाले) होते हैं, इसलिए यदि आपके पास है तो आप थ्रेड का उपयोग कर सकते हैं
- 5000 बाइट्स की अधिकतम कोड लंबाई
- आपके द्वारा उपयोग की जाने वाली भाषा में लिनक्स के लिए एक नि: शुल्क (गैर परीक्षण) संस्करण उपलब्ध होना चाहिए (आर्क लिनक्स, यदि वह मायने रखता है)
जीत का मानदंड
- विजेता सबसे सटीक समाधान है ( नियंत्रण कार्यक्रम द्वारा दिया गया , प्रदान की गई परीक्षण सूची का उपयोग करके)
- लोकप्रियता टाई ब्रेकर है
- स्कोरिंग टेबल को हर कुछ दिनों में अपडेट किया जाएगा
- समय-आउट और क्रैश की गणना विफल हो जाती है
- लोकप्रियता के आधार पर यह चुनौती दो सप्ताह या उससे अधिक समय तक चलेगी
- अंतिम स्कोरिंग शब्दों की एक अलग, यादृच्छिक रूप से चयनित सूची (एक ही शब्द सूची से एक ही लंबाई) का उपयोग करेगा
अन्य
- आप अपने प्रोग्राम का परीक्षण करने के लिए नियंत्रण कार्यक्रम का उपयोग कर सकते हैं
- यदि आप अधीर हैं, और चाहते हैं कि आपका प्रोग्राम अपडेट / शीघ्रता से जोड़ा जाए, तो कोई समस्या प्रारंभ करें या https://github.com/matsjoyce/codegolf-swipe-type/blob/master पर अनुरोध खींचें
- प्रविष्टियां में रखा जाता है https://github.com/matsjoyce/codegolf-swipe-type/blob/master/entries
- प्रत्येक प्रोग्राम रन के लॉग https://github.com/matsjoyce/codegolf-swipe-type/blob/master/logs पर बनाए रखा जाता है
- मुख्य लॉग इन https://github.com/matsjoyce/codegolf-swipe-type/blob/master/log.log
- प्रत्येक कुंजी की स्थिति वर्तमान निर्देशिका में एक सीएसवी फ़ाइल के रूप में प्रदान की जाएगी
keypos.csv
, जिसे एक्स और वाई मूल्यों के सापेक्ष कहा जाता हैQ
(देखें https://github.com/matsjoyce/codegolf-swipe-type/blob/master/ keypos.csv ) - प्रत्येक कुंजी 1.5 x 1.5 सेमी है (keypos.csv में एक ही इकाई)
वर्तमान स्कोर बोर्ड
परीक्षण सूची ( लॉग ):
Three Pass Optimizer:Errors: 0/250 Fails: 7/250 Passes: 243/250 Timeouts: 0/250
Corner Sim: Errors: 0/250 Fails: 9/250 Passes: 241/250 Timeouts: 0/250
Discrete Fréchet Distance:Errors: 0/250 Fails: 17/250 Passes: 233/250 Timeouts: 0/250
Turnaround: Errors: 0/250 Fails: 18/250 Passes: 232/250 Timeouts: 0/250
Direction Checker: Errors: 0/250 Fails: 19/250 Passes: 231/250 Timeouts: 0/250
Regex Solver: Errors: 0/250 Fails: 63/250 Passes: 187/250 Timeouts: 0/250
Corner Sim: Errors: 0/250 Fails: 10/250 Passes: 240/250 Timeouts: 0/250
Three Pass Optimizer:Errors: 2/250 Fails: 14/250 Passes: 234/250 Timeouts: 0/250
Turnaround: Errors: 0/250 Fails: 16/250 Passes: 234/250 Timeouts: 0/250
Direction Checker: Errors: 0/250 Fails: 17/250 Passes: 233/250 Timeouts: 0/250
Discrete Fréchet Distance:Errors: 0/250 Fails: 18/250 Passes: 232/250 Timeouts: 0/250
Regex Solver: Errors: 0/250 Fails: 67/250 Passes: 183/250 Timeouts: 0/250
फाइनल रन
परीक्षण सूची ( लॉग ):
Corner Sim: Errors: 0/250 Fails: 14/250 Passes: 236/250 Timeouts: 0/250
Three Pass Optimizer:Errors: 0/250 Fails: 18/250 Passes: 232/250 Timeouts: 0/250
Direction Checker: Errors: 0/250 Fails: 20/250 Passes: 230/250 Timeouts: 0/250
Turnaround: Errors: 0/250 Fails: 23/250 Passes: 227/250 Timeouts: 0/250
Discrete Fréchet Distance:Errors: 0/250 Fails: 30/250 Passes: 220/250 Timeouts: 0/250
Regex Solver: Errors: 0/250 Fails: 55/250 Passes: 195/250 Timeouts: 0/250
हर किसी के लिए अच्छा है और hgfdsasdertyuiopoiuy swertyuiopoijnhg!
l
, जो दोगुना न हो।