แป้นพิมพ์ของคุณมีบางอย่างผิดปกติ Shiftที่สำคัญมีความคิดของตัวเอง ทุกครั้งที่คุณพิมพ์ตัวละครคุณจะไม่รู้เลยว่ามันจะออกมาหรือไม่ (แม้ว่าจะเป็น 50-50) นอกจากปุ่มอักขระมาตรฐานแล้วไม่มีอะไรบนแป้นพิมพ์ที่ใช้งานได้ ไม่มีเมาส์หรือวิธีการอินพุตอื่น
อย่างใดคุณก็รู้วิธีเดียวที่จะแก้ไขสิ่งต่าง ๆ คือการเขียนโปรแกรมที่ส่งออกDear Computer, please stop giving me shift!
ไปยัง stdout โชคดีที่ IDE ของคุณเปิดอยู่และคุณสามารถเรียกใช้โปรแกรมได้ แต่แน่นอนว่าเมื่อคุณพิมพ์คุณจะไม่ทราบว่าตัวละครใดที่จะถูกเลื่อน
คุณจะใช้ลำดับของการกดปุ่มใดในการเขียนโปรแกรมที่มีโอกาสที่ดีที่สุดในการลองครั้งแรก
รายละเอียด
คุณกำลังใช้แป้นพิมพ์ QWERTY มาตรฐานดังนั้นจึงมี 50 ตัวอักษรที่คุณสามารถกดได้
รุ่นที่ไม่เปลี่ยนแปลง (47 เท่านั้น):
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
รุ่นที่เปลี่ยน (47 เท่านั้น):
~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
3 ปุ่มสุดท้ายคือEnter, TabและSpace, ซึ่งเหมือนกันคือเลื่อนและไม่เปลี่ยน
ลำดับของ N ของตัวละครเหล่านี้มี 2 N - (จำนวนช่องว่าง)วิธีที่มันอาจจะถูกส่งออกถ้าคุณพิมพ์ด้วยแป้นพิมพ์ผิดพลาดของคุณ ยกตัวอย่างเช่นการพิมพ์A Space mอาจมีผล
a m
หรือA m
หรือหรือa M
A M
เขียนโปรแกรมตัวละครเหล่านี้และดูชุดค่าผสมที่เป็นไปได้ทั้งหมด 2 N - (จำนวนช่องว่างที่เป็นไปได้) ชุดค่าผสมเพิ่มเติมที่ผลผลิตDear Computer, please stop giving me shift!
ดีกว่า คะแนนของคุณคือจำนวนชุดค่าผสมการทำงาน (โปรแกรมที่ถูกต้อง) หารด้วยจำนวนชุดค่าผสมทั้งหมด คะแนนสูงสุดชนะ
หมายเหตุ
- สำหรับโปรแกรมที่ถูกต้องการพิมพ์อย่างแม่นยำ
Dear Computer, please stop giving me shift!
และไม่มีสิ่งอื่นใดที่ stdout ควรเป็นผลข้างเคียงเท่านั้น - โปรแกรมที่ถูกต้องไม่ควรป้อนข้อมูล
- โปรแกรมที่ไม่ถูกต้องสามารถทำอะไรก็ได้
- ความคิดเห็นอาจใช้ที่ใดก็ได้
- คำตอบของช่องว่างไม่สามารถชนะได้เพราะการได้คะแนน 100% นั้นเป็นเรื่องเล็กน้อย คุณยังคงสามารถส่งโซลูชัน Whitespace เพื่อความสนุกสนาน
- โปรแกรมของคุณจะต้องมีความยาวไม่เกิน 1024 ตัวอักษร
อัปเดต:เปลี่ยนStop giving me shift!
เป็นDear Computer, please stop giving me shift!
เพื่อให้คำตอบที่ซับซ้อนมากขึ้น คำตอบที่มีอยู่อาจเป็นไปตามที่ต้องการ