Bu zorluk için, belirli bir kare matrisin köşegenlerini çıkaran bir program veya işlev yazmalısınız. Bununla birlikte, çözümünüzün kaynak kodunun satırlarını ve sütunlarını aktarırsanız, bunun yerine matrisin karşıtlarını döndüren bir program veya işlev haline gelmelidir. Özellikler için okumaya devam edin ...
kurallar
- Çözümünüzün kaynak kodu, seçtiğiniz standart bir yeni satırla ayrılmış (satır besleme, satır başı veya her ikisinin bir kombinasyonu) 2B karakter ızgarası olarak kabul edilir.
Kaynak kodunuzdaki hiçbir satır öncekinden daha uzun olamaz. Geçerli düzenlerin bazı örnekleri:
### ### ###
######## ####### ### ### #
Ve burada geçersiz bir düzen örneği: (üçüncü satır ikinciden uzun olduğu için):
###### #### ##### ###
İki çözümünüz birbirlerinin aleyhinde olmalı, yani satırları ve sütunları değiştirerek birbirlerinden bir tane elde etmelisiniz. İşte iki geçerli çift:
abc def ghi
adg beh cfi
Ve
print 10 (~^_^)~ foo bar !
p(fb! r~oa i^or n_ t^ ) 1~ 0
Boşlukların diğer karakterler gibi işlendiğini unutmayın. Özellikle, takip eden alanlar, transpozisyondaki takip eden boşluklar olamayacağından önemlidir.
Her çözüm, giriş olarak tek basamaklı tam sayıların boş olmayan kare matrisini alan bir program veya işlev olmalıdır. Bir çözüm, matrisin tüm köşegenlerinin bir listesini çıkarmalı, diğeri tüm antidiagonalların bir listesini çıkarmalıdır. Herhangi bir makul, belirgin giriş ve çıkış formatı kullanabilirsiniz, ancak iki çözüm arasında aynı olmaları gerekir (bu, aynı zamanda hem fonksiyon hem de her iki program olması gerektiği anlamına gelir).
- Her diyagonal soldan aşağı doğru sağa doğru uzanır ve yukarıdan aşağıya doğru sıralanmaları gerekir.
- Her bir antidiagonal sol alttan sağ üste doğru uzanır ve yukarıdan aşağıya doğru sıralanmaları gerekir.
puanlama
Mümkün olduğunca "kare" olan çözümleri teşvik etmek için birincil puan, hangisinin daha büyük olduğu satır sayısı veya çözümünüzün sütun sayısıdır . Daha az iyidir. Bağlar , yeni satırları saymaz, çözümdeki karakter sayısıyla bozulur . Yine, daha az iyidir. Örnek:
abcd
efg
h
Bu ve devrik bir primer puan olurdu 4 (4 sütun bulunmaktadır gibi) ve bir bağlama-puan ise 8 (8 olmayan satır karakter gibi). Lütfen cevabınızın başlığında her iki değeri de belirtin.
Test Kılıfları
İki çözümün yerine getirdiği asıl görev, buradaki birincil zorluk olmamalı, ancak çözümlerinizi test etmenize yardımcı olacak iki örnek:
Input:
1 2 3
4 5 6
7 8 9
Diagonals:
3
2 6
1 5 9
4 8
7
Antidiagonals:
1
4 2
7 5 3
8 6
9
Input:
1 0 1 0
0 1 0 1
1 0 1 0
0 1 0 1
Diagonals:
0
1 1
0 0 0
1 1 1 1
0 0 0
1 1
0
Antidiagonals:
1
0 0
1 1 1
0 0 0 0
1 1 1
0 0
1