Bu, bu zorluğun 2 boyutlu genellemesidir .
Buradaki amaçlar için, bir matris (ya da 2 boyutlu dizi) bir bir kabul edilir submatrix bir matris B ise, bir tamamen satır ve sütun bir dizi çıkarılması ile elde edilebilir B . (Not: bazı kaynakların farklı / daha kısıtlayıcı tanımları vardır.)
İşte bir örnek:
A = [1 4 B = [1 2 3 4 5 6
2 1] 6 5 4 3 2 1
2 1 2 1 2 1
9 1 8 2 7 6]
A elde etmek için 2, 3, 5, 6 sütunlarını ve 2, 4 satırlarını B'den silebiliriz :
B = [1 2 3 4 5 6 [1 _ _ 4 _ _ [1 4 = A
6 5 4 3 2 1 --> _ _ _ _ _ _ --> 2 1]
2 1 2 1 2 1 2 _ _ 1 _ _
9 1 8 2 7 6] _ _ _ _ _ _]
Bu Not A bir submatrix hala B tüm satırları veya her sütun halinde B muhafaza (ya da, aslında, eğer A = B ).
Meydan okuma
Tahmin ettin. Verilen iki boş olmayan bir tamsayıdır matrisler bir ve B olmadığını belirlemek için bir bir submatrix olan B .
STDIN (veya en yakın alternatif), komut satırı argümanı veya işlev argümanı yoluyla giriş alarak ve sonucu STDOUT (veya en yakın alternatif), fonksiyon dönüş değeri veya function (out) parametresi ile çıktı alarak bir program veya işlev yazabilirsiniz.
Giriş herhangi bir uygun biçimde olabilir. Matrisler yuvalanmış listeler, iki farklı ayırıcı kullanan dizeler, matrisin boyutları ile birlikte düz listeler vb. Giriş önceden işlenmediği sürece verilebilir. Seçiminiz tutarlı olduğu sürece B ve A saniye seçmeyi seçebilirsiniz . Matrislerin elementlerinin pozitif ve 256'dan küçük olduğunu varsayabilirsiniz.
Çıktı olmalıdır truthy eğer bir bir submatrix olan B ve falsy aksi. Özel çıktı değerinin tutarlı olması gerekmez.
Standart kod-golf kuralları geçerlidir.
Test Kılıfları
Her test durumu ayrı bir satırda A, B
.
Gerçek vakalar:
[[1]], [[1]]
[[149, 221]], [[177, 149, 44, 221]]
[[1, 1, 2], [1, 2, 2]], [[1, 1, 1, 2, 2, 2], [3, 1, 3, 2, 3, 2], [1, 1, 2, 2, 2, 2]]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [4, 7, 6], [7, 8, 9], [1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[228, 66], [58, 228]], [[228, 66], [58, 228]]
[[1, 2], [2, 1]], [[1, 2, 2], [2, 1, 2], [2, 2, 1]]
[[136, 196], [252, 136]], [[136, 252, 210, 196, 79, 222], [222, 79, 196, 210, 252, 136], [252, 136, 252, 136, 252, 136], [180, 136, 56, 252, 158, 222]]
Sahte davalar:
[[1]], [[2]]
[[224, 15]], [[144, 15, 12, 224]]
[[41], [150]], [[20, 41, 197, 150]]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [7, 8, 9], [4, 5, 6]]
[[1, 2, 2], [2, 1, 2], [2, 2, 1]], [[1, 2], [2, 1]]
[[1, 2, 2], [2, 1, 2]], [[1, 2], [2, 1], [2, 2]]
[[1, 2], [3, 4]], [[5, 3, 4, 5], [2, 5, 5, 1], [4, 5, 5, 3], [5, 1, 2, 5]]
[[158, 112], [211, 211]], [[158, 211, 189, 112, 73, 8], [8, 73, 112, 189, 211, 158], [211, 158, 211, 158, 211, 158], [21, 158, 199, 211, 212, 8]]