Skenario
Saya menggunakan lockscreen pencocokan pola dan sayangnya saya lupa pola saya. Saya ingin tahu berapa banyak waktu yang saya perlukan untuk membukanya. Berikut adalah spesifikasi layar kunci Google, yang akan kami gunakan untuk tantangan ini.
- Setiap 5 kode salah, pengguna harus menunggu
30 seconds
sebelum ada entri lebih lanjut. Suatu pola setidaknya harus terdiri dari
4 points
(lihat di bawah)Suatu titik hanya dapat digunakan satu kali, tetapi Anda dapat mengulanginya beberapa kali (lihat gambar di bawah):
Di sini, titik pusat hanya digunakan sekali, bahkan jika kita membahasnya lagi untuk pola khusus ini.
Hipotesis & Fakta
Kami akan menganggap kami pahlawan super dan kami bisa menggambar pola apa pun 1 second
, kami tidak perlu makan atau tidur. Ya, kami manusia super.
Saya orang yang sangat sial. "Skenario terburuk" adalah kehidupan sehari-hari saya sehingga pola yang akan saya coba terakhir akan menjadi yang benar.
Apa yang harus kita tusuk?
Bagi mereka yang tidak mengetahuinya, Android (dan telepon lain sekarang) menawarkan kemampuan membuka kunci telepon melalui menggambar pola pada matriks 9-titik. Matriks ini dapat digambarkan sebagai berikut:
C(A) M(B) C(C)
M(D) X(E) M(F)
C(G) M(H) C(I)
- C berarti "titik sudut"
- M untuk "titik tengah"
- X untuk "titik tengah"
- Saya telah memberikan pengidentifikasi poin untuk membuatnya lebih mudah
Koneksi langsung yang diizinkan adalah sebagai berikut:
Titik sudut:
Titik tengah:
Titik pusat:
Namun, seperti yang ditunjukkan oleh steveverrill, "begitu pusat telah digunakan (dan karenanya tidak tersedia) koneksi langsung antara kiri bawah dan sudut kanan atas menjadi tidak ambigu dan karenanya memungkinkan". Hal yang sama berlaku untuk setiap "titik tengah", jika misalnya titik B telah dihitung, maka koneksi langsung antara A dan C dimungkinkan. Jika misalnya F sudah dihitung, maka koneksi langsung antara C dan I dimungkinkan. Dll ...
Aturan
- Inti dari tantangan ini adalah mengembalikan berapa banyak waktu (dalam bentuk yang dapat dibaca manusia, alias tahun / hari / bulan / jam / apa pun waktu yang Anda temukan) Saya harus membuka kunci ponsel sialan ini.
- Anda tidak dapat meng-hardcode jumlah kemungkinan pola yang valid (bahkan tidak Google, bodoh), hitung (itu sebenarnya bagian yang menyenangkan, bukan?)
- Sepotong kode terpendek menang
- Semoga berhasil !
sumber
Jawaban:
Rebmu :
197 175 168167 karakterMenghasilkan kombinasi sebagai serangkaian angka (mis. 12369 adalah kiri atas ke kanan atas ke kanan bawah), memeriksa apakah kombinasi itu valid, dan menambahkan penghitung jika itu. Ini mungkin memakan waktu * untuk dijalankan. Mengembalikan jumlah detik yang diperlukan untuk membuka kunci ponsel.
Tanpa suara dan berkomentar:
Program loop dari 1 ke (987654321-1233), memeriksa konter 1233 + loop (karena itu memeriksa 1234 hingga 987654321).
Jika nomor
987653088
diganti dengan,9876-1233
atau8643
, maka program akan menemukan waktu yang diperlukan untuk semua kombinasi 4 poin.Output untuk
9876-1233=8643
(kombinasi 4 poin):Output untuk
98765-1233=97532
(kombinasi 4 dan 5 poin):Output untuk
987654-1233=986421
(4,5,6 poin kombinasi):* 4/5-point membutuhkan waktu sekitar 8 detik untuk berlari; 4-6 membutuhkan waktu sekitar 77 detik. Mungkin perlu ~ 24 jam atau lebih tergantung pada siapa yang menjalankan ini untuk menghitung jumlah kombinasi untuk kombinasi 4-9 poin.
sumber