Belirli bir matrisin bir quandle'ı temsil edip etmediğini belirleyecek bir program yazın. Bir quandle , aşağıdaki aksiyomlara uyan tek (değişmeli olmayan, ilişkisel olmayan) işlemle donatılmış bir settir:
- Operasyon, yani kapalıdır
a◃b = ceğer hep kümesinin bir elementtiravebsetin unsurlarıdır. - Operasyon sağ kendinden dağıtıcı geçerli:
(a◃b)◃c = (a◃c)◃(b◃c). - Operasyon sağ bölünebilir: herhangi seçilen çifti için
avebtek bir benzersiz olduğunucböylec◃a = b - Operasyon idempotenttir:
a◃a = a
Sonlu bir dörtgen kare bir matris olarak temsil edilebilir. Aşağıda sıra-5 quandle ( kaynak ) örneği verilmiştir .
0 0 1 1 1
1 1 0 0 0
3 4 2 4 3
4 2 4 3 2
2 3 3 2 4
N. Satırda ve m. Sütunda (0 dizinli) bulunan değer n◃m değeridir. Örneğin, bu tutamda 4◃1 = 3,. Quandle özelliklerinden bazılarını bu matristen görmek kolaydır:
- Bu 5x5 matriste yalnızca 0-4 değerleri göründüğü için kapalıdır.
- Bu idempotenttir çünkü matris diyagonal 0 1 2 3 4
- Hiçbir sütunda yinelenen değerler bulunmadığından sağ bölünebilir. (Satırlar olabilir ve genellikle de olur.)
Sağ-kendine-dağılma özelliğini test etmek daha zordur. Bir kısayol olabilir, ancak en basit yöntem bunu doğrulamak için her üç dizinin kombinasyonunu yinelemektir m[m[a][b]][c] = m[m[a][c]][m[b][c]].
Giriş
Girdi, 0-indeksleme veya 1-indeks (seçiminiz) kullanılarak bir kare matrisin satırlarının listesi olacaktır. Her giriş tek haneli bir numara olacaktır 0için 8(veya 1ile 9). Girdi biçiminde esnek olacağım. Kabul edilebilir bazı biçimler şunları içerir:
- Gibi matrisleri veya listeleri, İçin dilin en doğal biçimlendirme
[[0 0 0][2 1 1][1 2 2]]veya(0,0,0,2,1,1,1,2,2). - Boşluk, satırsonu, virgül vb. İle sınırlanan değerlerin listesi.
- Birlikte birleştirilen tüm değerlerden oluşan tek bir dize
000211122.
Ayrıca matrisin geçişini girdi olarak almanıza izin verilir (satırları sütunlarla değiştirme). Bunu cevabınızda belirttiğinizden emin olun.
Çıktı
Matrisin bir quandle olarak durumunu gösteren tek bir doğruluk / falsey değeri.
Quandle örnekleri
0
0 0
1 1
0 0 0
2 1 1
1 2 2
0 0 1 1
1 1 0 0
3 3 2 2
2 2 3 3
0 3 4 1 2
2 1 0 4 3
3 4 2 0 1
4 2 1 3 0
1 0 3 2 4
Quandles olmayan örnekler
kapalı değil
1
0 0 0
2 1 1
1 9 2
kendi kendine dağıtıcı değil
0 0 1 0
1 1 0 1
2 3 2 2
3 2 3 3
(3◃1)◃2 = 2◃2 = 2
(3◃2)◃(1◃2) = 3◃0 = 3
doğru bölünemez
0 2 3 4 1
0 1 2 3 4
3 4 2 2 2
3 3 3 3 3
4 1 1 1 4
0 1 2 3
3 1 2 0
3 1 2 3
0 1 2 3
cesur değil
1 1 1 1
3 3 3 3
2 2 2 2
0 0 0 0
2 1 0 4 3
3 4 2 0 1
4 2 1 3 0
1 0 3 2 4
0 3 4 1 2