การปฏิวัติต่อไปในการพิมพ์บนแล็ปท็อปได้รับการปล่อยตัวในแรกของเดือนเมษายน 2014 โดย SwiftKey อย่างไรก็ตามฉันต้องการเป็นคนแรกที่เขียน nano clone ที่เป็น swiping แต่เนื่องจากฉันไม่สามารถหา swipe-text ที่ดีในไลบรารี่ของ real-text ได้และฉันไม่สามารถรอพวกเขาได้ฉันถามที่นี่
งาน
เขียนโปรแกรมที่ใช้ในการกวาดนิ้ว - ข้อความและผลลัพธ์เทียบเท่าข้อความจริง ตัวอย่าง:
Input: hgrerhjklo
Output: hello
เมื่อผู้ใช้ทำ:

ตัวอย่างอื่น ๆ :
Input: wertyuioiuytrtjklkjhgfd
Output: world
Input: poiuytrtyuioiugrewsasdfgbhnmkijnbg
Output: programming
Input: poiuygfdzxcvhjklkjhgres
Output: puzzles
Input: cvhjioiugfde
Output: code
Input: ghiolkjhgf
Output: golf
กฎระเบียบ
- โปรแกรมจะใช้คำว่า swiped หนึ่งคำใน stdin หรือ argv
 - ตัวอักษรตัวแรกและตัวสุดท้ายของอินพุต swiped จะเท่ากับตัวอักษรตัวแรกและตัวสุดท้ายของคำจริง
 - คุณสามารถสันนิษฐานได้ว่าผู้ใช้จะสร้างเส้นตรงที่สมเหตุสมผล แต่คุณสามารถใช้ข้อมูลตัวอย่างเพื่อตรวจสอบสิ่งนี้ (ฉันทำข้อมูลตัวอย่างและฉันจะสร้างข้อมูลทดสอบสุดท้าย)
 - สำหรับอินพุตที่ไม่ชัดเจนคุณสามารถเลือกเอาต์พุตอย่างใดอย่างหนึ่ง แต่ฉันจะพยายามกำจัดความกำกวมทั้งหมดจากข้อมูลทดสอบ
 - คำนี้จะอยู่ในรายการคำนี้ (แต่กวาด) รายการคำจะอยู่ในไดเรกทอรีปัจจุบันและสามารถอ่านได้ (คั่นด้วยการขึ้นบรรทัดใหม่จะมีชื่อว่า
wordlistไม่มีส่วนขยาย) - การปัดจะมีตัวอักษรตัวพิมพ์เล็กเท่านั้น
 - การปัดอาจมีอักขระที่ซ้ำกันหากผู้ใช้หยุดชั่วคราวบนคีย์
 - โปรแกรมจะต้องส่งออกใน stdout (กรณีไม่สำคัญ)
 - โปรแกรมจะต้องส่งคืน
0เป็นรหัสส่งคืน - คุณต้องจัดเตรียมคำสั่ง run คำสั่งการคอมไพล์ (หากจำเป็น) ชื่อและพา ธ อินพุตที่จะใช้
 - ใช้ช่องโหว่มาตรฐาน (อาจไม่ช่วยได้)
 - ไม่อนุญาตให้ใช้ไลบรารีที่ไม่ได้สร้างขึ้น
 - แนะนำให้ใช้โซลูชันที่กำหนดขึ้นไม่ใช่กอล์ฟ
 - ไม่มีการเขียนไฟล์เครือข่าย ฯลฯ
 - รหัสของคุณจะต้องทำงานในหนึ่งวินาทีหรือน้อยกว่า (รหัสของคุณจะทำงานหนึ่งครั้งต่อคำ)
 - การให้คะแนนรันบนโปรเซสเซอร์ Intel i7 Haswell โดยมีรหัสเสมือน 4 ตัว (รหัสจริง 2 ตัว) ดังนั้นคุณสามารถใช้เธรดหากคุณต้อง
 - ความยาวโค้ดสูงสุด 5,000 ไบต์
 - ภาษาที่คุณใช้ต้องมีรุ่นฟรี (ไม่ใช่รุ่นทดลอง) สำหรับ Linux (Arch Linux หากมีความสำคัญ)
 
เกณฑ์การชนะ
- ผู้ชนะคือทางออกที่แม่นยำที่สุด (ทำคะแนนโดยโปรแกรมควบคุมโดยใช้รายการทดสอบที่ให้มา)
 - ความนิยมคือเบรกเกอร์
 - ตารางคะแนนจะอัปเดตทุกสองสามวัน
 - การขอเวลานอกและการขัดข้องนับเป็นความล้มเหลว
 - ความท้าทายนี้จะเริ่มขึ้นสองสัปดาห์หรือมากกว่านั้นขึ้นอยู่กับความนิยม
 - การให้คะแนนสุดท้ายจะใช้รายการคำแบบสุ่มที่ต่างกัน (ความยาวเท่ากันจากรายการคำเดียวกัน)
 
อื่น ๆ
- คุณสามารถใช้โปรแกรมควบคุมเพื่อทดสอบโปรแกรมของคุณ
 - หากคุณใจร้อนและต้องการอัปเดต / เพิ่มโปรแกรมของคุณอย่างรวดเร็วให้เริ่มต้นปัญหาหรือดึงคำขอได้ที่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
 - ตำแหน่งของแต่ละคีย์จะถูกระบุเป็นไฟล์ csv ในไดเรกทอรีปัจจุบันที่เรียกว่า
keypos.csvพร้อมกับค่า x และ y ที่กำหนดให้สัมพันธ์กับ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