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 = c
eğer hep kümesinin bir elementtira
veb
setin 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
a
veb
tek bir benzersiz olduğunuc
bö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 0
için 8
(veya 1
ile 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