Klavyenizde bir sorun var. ShiftAnahtar kendine ait bir aklı var. Her karakter yazdığınızda, değişip değişmeyeceği konusunda hiçbir fikriniz yoktur (50-50 olmasına rağmen). Standart karakter tuşlarının yanı sıra, klavyedeki hiçbir şey işlevsel değildir. Fare ya da başka girdi araçları yoktur.
Her nasılsa işleri düzeltmenin tek yolunu biliyorsun Dear Computer, please stop giving me shift!
stdout'a çıkan bir program yazmak . Neyse ki IDE'niz açık ve bir program çalıştırabiliyorsunuz, ama elbette yazdığınız sırada hangi karakterlerin değiştirileceğini bilemeyeceksiniz.
İlk denemede mümkün olan en iyi çalışma şansına sahip olan bir programı yazmak için hangi anahtar presler dizisini kullanırsınız?
ayrıntılar
Bir kullanıyorsunuz standart QWERTY klavye , böylece basabilirsiniz 50 karakter tuşları vardır.
Değiştirilmemiş sürümler (yalnızca 47):
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
Değişen versiyonlar (sadece 47):
~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
Son 3 anahtarları Enter, Tabve Spaceaynı kaydırılır ve kaydırılmamış olan,.
Bu karakterlerin N dizisinde, hatalı klavyenizle yazmış olsaydınız, çıkmış olabileceği 2 N - (boşluk karakter sayısı) vardır . Örneğin, yazarak A Space mvermiştir olabilir
a m
veya A m
veya a M
veya A M
.
Bu karakterleri bir program yazın ve 2 N - (boşluk karakter sayısı) olası kaydırma kombinasyonlarına bakın. Ne kadar çok kombinasyon o Dear Computer, please stop giving me shift!
kadar iyi sonuç verir. Puanınız, toplam kombinasyon sayısına bölünen çalışan kombinasyon sayısıdır (geçerli programlar). En yüksek puan kazanır.
notlar
- Geçerli programlar için, tam olarak yazdırmak
Dear Computer, please stop giving me shift!
ve stdout'tan başka hiçbir şey tek yan etki olmamalıdır. - Geçerli programlar giriş yapmamalıdır.
- Geçersiz programlar herhangi bir şeyi yapabilir.
- Yorumlar herhangi bir yerde kullanılabilir.
- Boşluk cevapları kazanamaz çünkü% 100 puan almak (nispeten) önemsizdir. Eğlence için hala bir Whitespace çözümü sunabilirsiniz.
- Programınız en fazla 1024 karakter uzunluğunda olmalıdır.
Güncelleme: Değiştirilen Stop giving me shift!
için Dear Computer, please stop giving me shift!
daha karmaşık cevaplar için izin vermek. Mevcut cevaplar istenirse aynı şekilde kalabilir.