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 = c
elemen selalu dari himpunan jikaa
danb
merupakan elemen himpunan. - Operasi ini kanan-diri distributif:
(a◃b)◃c = (a◃c)◃(b◃c)
. - Operasi ini dapat dibagi kanan: Untuk setiap pasangan yang dipilih
a
danb
, ada satu yang unikc
sehinggac◃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 0
ke 8
(atau 1
sampai 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