Definisi
The k th cincin dari matriks persegi ukuran N , di mana 1 ≤ k ≤ langit-langit (N / 2) adalah daftar yang dibentuk oleh unsur-unsur dari k th dan (N-k + 1) th baris dan kolom, tetapi tanpa elemen k-1 pertama dan terakhir .
Contoh:
Matriks: 1 2 3 4 5 6 7 8 9 1 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 Dibatasi dalam cincin: + ------------------- + | 1 2 3 4 5 | | + ----------- + | | 6 | 7 8 9 | 1 | | | + --- + | | | 8 | 7 | 6 | 5 | 4 | | | + --- + | | | 3 | 2 1 9 | 8 | | + ----------- + | | 7 6 5 4 3 | + ------------------- +
Cincin pertama di atas adalah 1,2,3,4,5,1,4,8,3,4,5,6,7,3,8,6
, yang kedua adalah 7,8,9,5,9,1,2,7
dan yang ketiga adalah 6
.
Sebuah N oleh N matriks bilangan bulat positif adalah (untuk tujuan tantangan ini):
cekung jika semua bilangan bulat pada k th cincin secara ketat lebih besar dari orang-orang di (k + 1) th cincin, di mana k adalah setiap bilangan bulat antara 1 dan N (orang-orang pada deringan pertama adalah lebih besar dibandingkan pada kedua, yang pada gilirannya lebih besar dari pada yang ketiga dll) Contoh:
4 5 6 4 7 -> karena 4,5,6,4,7,4,8,5,5,4,6,5,9,5,5,4 semuanya lebih tinggi dari 4 3 2 2 4 mana saja dari 3,2,2,3,2,3,3,2, yang semuanya lebih tinggi dari 1 5 2 1 3 8 5 3 3 2 5 9 5 6 4 5
datar jika semua bilangan bulat dalam matriks sama. Contoh lain (mungkin berlebihan):
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
cembung jika semua bilangan bulat pada cincin k th benar-benar lebih rendah daripada yang ada di cincin (k + 1) th , di mana k adalah bilangan bulat antara 1 dan N (yang pada cincin pertama lebih rendah dari pada yang kedua, yang merupakan pada gilirannya lebih rendah dari pada yang ketiga dll). Contoh:
1 2 1 -> karena 1 dan 2 keduanya lebih rendah dari 6 2 6 2 1 2 1
tercampur jika matriks tidak memenuhi salah satu kriteria di atas. Contoh:
3 3 3 3 3 3 2 2 2 3 3 2 3 2 3 3 2 2 2 3 3 3 3 3 3
Tantangan
Diberikan matriks kuadrat dari bilangan bulat positif dengan ukuran minimal 3 , mengklasifikasikannya sesuai dengan definisi di atas. Yaitu, mengeluarkan satu dari empat nilai konsisten berbeda berdasarkan apakah matriks itu cekung, datar, cembung atau campuran.
Anda dapat bersaing dalam bahasa pemrograman apa pun dan dapat mengambil input dan memberikan output melalui metode standar apa pun dan dalam format apa pun yang wajar, sambil memperhatikan bahwa celah ini dilarang secara default. Ini adalah kode-golf , jadi pengiriman terpendek (dalam byte) untuk setiap bahasa menang.
Uji kasus
Berikut adalah banyak contoh untuk Anda pilih - Saya memilih 6 dari setiap kategori.
Cekung
[[3, 3, 3], [3, 1, 3], [3, 3, 3]]
[[2, 3, 4], [5, 1, 6], [7, 8, 9]]
[[19, 34, 45], [34, 12, 14], [13, 13, 13]]
[[3, 4, 3, 4], [4, 2, 1, 3], [3, 1, 2, 4], [4, 3, 4, 3]]
[[4, 5, 6, 4, 7], [4, 3, 2, 2, 4], [5, 2, 1, 3, 8], [5, 3, 3, 2, 5], [9, 5, 6, 4, 5]]
[[7, 7, 7, 7, 7], [7, 6, 6, 6, 7], [7, 6, 5, 6, 7], [7, 6, 6, 6, 7], [7, 7, 7, 7, 7]]
Datar
[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
[[2, 2, 2], [2, 2, 2], [2, 2, 2]]
[[8, 8, 8], [8, 8, 8], [8, 8, 8]]
[[120, 120, 120], [120, 120, 120], [120, 120, 120]]
[[10, 10, 10, 10], [10, 10, 10, 10], [10, 10, 10, 10], [10, 10, 10, 10]]
[[5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5]]
Cembung
[[1, 2, 1], [2, 6, 2], [1, 2, 1]]
[[1, 1, 1], [1, 2, 1], [1, 1, 1]]
[[19, 34, 45], [34, 76, 14], [13, 6, 13]]
[[3, 3, 3, 3], [3, 4, 4, 3], [3, 4, 4, 3], [3, 3, 3, 3]]
[[192, 19, 8, 6], [48, 324, 434, 29], [56, 292, 334, 8], [3, 4, 23, 23]]
[[291, 48, 7, 5], [47, 324, 454, 30], [58, 292, 374, 4], [9, 2, 53, 291]]
Campuran
[[1, 2, 3], [4, 5, 9], [6, 7, 8]]
[[10, 14, 21], [100, 8, 3], [29, 2, 19]]
[[5, 5, 5, 5], [5, 4, 4, 5], [5, 4, 6, 5], [5, 5, 5, 5]]
[[3, 3, 3, 3], [3, 1, 2, 3], [3, 3, 2, 3], [3, 3, 3, 3]]
[[12, 14, 15, 16], [12, 18, 18, 16], [12, 11, 11, 16], [12, 14, 15, 16]]
[[5, 5, 5, 5, 5], [5, 4, 4, 4, 5], [5, 4, 6, 4, 5], [5, 4, 4, 4, 5], [5, 5, 5, 5, 5]]