Ada yang salah dengan keyboard Anda. The Shiftkey memiliki pikiran sendiri. Setiap kali Anda mengetik karakter Anda tidak tahu apakah itu akan keluar bergeser atau tidak (meskipun 50-50). Selain tombol karakter standar, tidak ada pada keyboard yang berfungsi. Tidak ada mouse atau sarana input lainnya.
Entah bagaimana Anda tahu satu-satunya cara untuk memperbaiki keadaan adalah dengan menulis sebuah program yang menghasilkan Dear Computer, please stop giving me shift!
stdout. Untungnya IDE Anda terbuka dan Anda mampu menjalankan suatu program, tetapi tentu saja saat Anda mengetiknya Anda tidak akan tahu karakter mana yang akan digeser.
Apa urutan penekanan tombol yang akan Anda gunakan untuk menulis sebuah program yang memiliki peluang terbaik untuk bekerja pada percobaan pertama?
Detail
Anda menggunakan keyboard QWERTY standar , jadi ada 50 tombol karakter yang dapat Anda tekan.
Versi tidak tergeser (hanya 47):
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
Versi bergeser (47 saja):
~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
3 Kunci terakhir adalah Enter, Tab, dan Space, yang sama bergeser dan unshifted.
Urutan N dari karakter-karakter ini memiliki 2 N - (whitespace char count) cara yang mungkin dihasilkan jika Anda mengetiknya dengan keyboard yang salah. Misalnya, mengetik A Space mmungkin telah menghasilkan
a m
atau A m
atau a M
atau A M
.
Tulis program karakter-karakter ini dan lihat semua kemungkinan kombinasi 2 N - (whitespace char count) yang mungkin. Semakin banyak kombinasi yang menghasilkan Dear Computer, please stop giving me shift!
semakin baik. Skor Anda adalah jumlah kombinasi kerja (program yang valid) dibagi dengan jumlah total kombinasi. Skor tertinggi menang.
Catatan
- Untuk program yang valid, pencetakan tepat
Dear Computer, please stop giving me shift!
dan tidak ada lagi yang harus dilakukan adalah satu-satunya efek samping. - Program yang valid seharusnya tidak mengambil input.
- Program yang tidak valid dapat melakukan apa saja.
- Komentar dapat digunakan di mana saja.
- Whitespace jawaban tidak dapat menang karena mendapatkan skor 100% (relatif) sepele. Anda masih dapat mengirimkan solusi Whitespace untuk bersenang-senang.
- Panjang program Anda harus paling banyak 1024 karakter.
Update: Berubah Stop giving me shift!
untuk Dear Computer, please stop giving me shift!
untuk memungkinkan lebih banyak jawaban yang kompleks. Jawaban yang ada dapat tetap seperti itu jika diinginkan.