Tulis program atau fungsi yang menggunakan bilangan bulat positif N dan kisi digit desimal (0 hingga 9) dengan lebar W dan tinggi H (yang juga bilangan bulat positif). Anda dapat mengasumsikan bahwa N akan kurang dari atau sama dengan yang lebih besar dari W dan H.
Cetak atau kembalikan nomor digit N bersebelahan terbesar yang muncul secara horizontal atau vertikal dalam kisi, ditulis dalam urutan pembacaan normal atau terbalik.
- Garis digit diagonal tidak dipertimbangkan.
- Grid tidak membungkus, yaitu tidak memiliki kondisi batas periodik.
Misalnya, kisi 3 × 3
928
313
049
akan memiliki 9
sebagai output untuk N = 1, 94
sebagai output untuk N = 2, dan 940
sebagai output untuk N = 3.
Kotak 4 × 3
7423
1531
6810
akan memiliki 8
sebagai output untuk N = 1, 86
untuk N = 2, 854
untuk N = 3, dan 7423
untuk N = 4.
Kotak 3 × 3
000
010
000
akan memiliki output 1
untuk N = 1, dan 10
untuk N = 2 dan N = 3 ( 010
juga berlaku untuk N = 3).
Kotak 1 × 1
0
akan memiliki output 0
untuk N = 1.
Anda dapat mengambil input dalam format wajar yang nyaman. misalnya kisi-kisi dapat berupa string digit yang dipisahkan oleh baris baru, atau array multidimensi, atau daftar daftar digit, dll. Angka nol diijinkan dalam output jika mereka merupakan bagian dari kisi.
Ini adalah kode-golf , jadi kode terpendek dalam byte menang, tetapi saya juga akan memberikan poin brownies (yaitu kemungkinan upvotes) untuk jawaban yang dapat menunjukkan bahwa algoritma mereka efisien secara komputasi.
Jawaban:
Pyth,
2219 byte3 byte berkat Jakube.
Cobalah online.
Jika kami diizinkan untuk mencetak nol terkemuka, kodenya adalah 18 byte:
sumber
s
.CJam,
39363534 byteCepat, sebelum @ Dennis bangun: P
Cobalah online .
Penjelasan
Algoritma dasarnya adalah untuk mengambil keempat rotasi grid dan membagi setiap baris menjadi potongan-potongan panjang
N
(atau panjang baris, mana saja yang lebih kecil). Kemudian konversikan potongan ke int dan ambil yang terbesar.sumber
few
melakukan sesuatu yang istimewa, atau apakah itu tiga perintah terpisah?ew
diterapkan menggunakanf
, atau "peta dengan parameter tambahan". Misalnya,["abcd" "efgh"] 2 few
hasil dalam[["ab" "bc" "cd"] ["ef" "fg" "gh"]]
.Bahan tertawaan
Belum jawaban akhir tetapi mungkin akan bekerja seperti ini:
Bagaimana N dan grid diberikan dengan tepat?
sumber