การปฏิวัติต่อไปในการพิมพ์บนแล็ปท็อปได้รับการปล่อยตัวในแรกของเดือนเมษายน 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