Tulis program yang akan menentukan apakah matriks yang diberikan merepresentasikan quandle. Sebuah quandle adalah satu set dilengkapi dengan single (non-komutatif, non-asosiatif) operasi ◃ yang mematuhi aksioma-aksioma berikut:
- Operasi ditutup, artinya
a◃b = celemen selalu dari himpunan jikaadanbmerupakan elemen himpunan. - Operasi ini kanan-diri distributif:
(a◃b)◃c = (a◃c)◃(b◃c). - Operasi ini dapat dibagi kanan: Untuk setiap pasangan yang dipilih
adanb, ada satu yang unikcsehinggac◃a = b - Operasi idempoten:
a◃a = a
Quandle terbatas dapat direpresentasikan sebagai matriks persegi. Di bawah ini adalah contoh dari quandle order-5 ( sumber ).
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
Nilai yang terletak di baris ke-n dan kolom ke-m (diindeks 0) adalah nilai dari n◃m. Misalnya, dalam quandle ini, 4◃1 = 3. Beberapa properti quandle mudah dilihat dari matriks ini:
- Ditutup karena hanya nilai 0-4 yang muncul dalam matriks 5x5 ini.
- Ini idempoten karena matriks diagonal adalah 0 1 2 3 4
- Ini dapat dibagi kanan karena tidak ada kolom yang berisi nilai duplikat. (Baris bisa, dan biasanya akan.)
Properti dari distribusi-diri-kanan lebih sulit untuk diuji. Mungkin ada jalan pintas, tetapi metode paling sederhana adalah untuk beralih pada setiap kombinasi yang mungkin dari tiga indeks untuk memverifikasi itu m[m[a][b]][c] = m[m[a][c]][m[b][c]].
Memasukkan
Input akan menjadi daftar baris matriks persegi, menggunakan indeks-0 atau indeks-1 (pilihan Anda). Setiap entri akan menjadi satu digit angka dari 0ke 8(atau 1sampai 9). Saya akan fleksibel pada format input. Beberapa format yang dapat diterima meliputi:
- Format bahasa Anda yang paling alami untuk matriks atau daftar, seperti
[[0 0 0][2 1 1][1 2 2]]atau(0,0,0,2,1,1,1,2,2). - Daftar nilai yang dibatasi oleh spasi, baris baru, koma, dll.
- String tunggal yang terdiri dari semua nilai yang disatukan, seperti
000211122.
Anda juga diperbolehkan mengambil transpos matriks sebagai input (menukar baris dengan kolom). Pastikan untuk menyatakan ini dalam jawaban Anda.
Keluaran
Nilai kebenaran / falsey tunggal yang menunjukkan status matriks sebagai quandle.
Contoh pertengkaran
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
Contoh non-pertengkaran
tidak tertutup
1
0 0 0
2 1 1
1 9 2
tidak self-distributive
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
tidak bisa dibagi kanan
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
tidak idempoten
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