เขียนโปรแกรมที่จะตรวจสอบว่าเมทริกซ์ที่กำหนดแสดงถึงความไม่แน่ใจ quandleเป็นชุดพร้อมเดียว (ไม่ใช่การสลับที่ไม่เชื่อมโยง) การดำเนินงาน◃ซึ่งเชื่อฟังหลักการต่อไปนี้:
- การดำเนินการถูกปิดซึ่งหมายความว่า
a◃b = c
จะเป็นองค์ประกอบของชุดหากa
และb
เป็นองค์ประกอบของชุดเสมอ (a◃b)◃c = (a◃c)◃(b◃c)
การดำเนินการเป็นขวาตนเองจำหน่าย:- การดำเนินการแบ่งออกได้อย่างถูกต้อง: สำหรับคู่ที่เลือก
a
และb
มีความเป็นหนึ่งเดียวc
ที่c◃a = b
- การดำเนินการ idempotent:
a◃a = a
quandle ที่ จำกัด สามารถแสดงเป็นเมทริกซ์จตุรัส ด้านล่างนี้เป็นตัวอย่างของการสั่งซื้อ 5-quandle ( แหล่งที่มา )
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-th และคอลัมน์ m-th (ดัชนี 0) คือค่าของ n ofm ตัวอย่างเช่นในความเข้าใจนี้, 4◃1 = 3
. บางส่วนของคุณสมบัติที่เข้าใจได้ง่ายจากเมทริกซ์นี้:
- มันถูกปิดเพราะมีเพียงค่า 0-4 เท่านั้นที่ปรากฏในเมทริกซ์ 5x5 นี้
- มันเป็น idempotent เพราะเมทริกซ์ทแยงมุมคือ 0 1 2 3 4
- มันหารด้วยขวาเพราะไม่มีคอลัมน์ที่มีค่าซ้ำกัน (แถวสามารถและมักจะ)
คุณสมบัติของการกระจายตัวที่ถูกต้องนั้นยากที่จะทดสอบ อาจจะมีทางลัด m[m[a][b]][c] = m[m[a][c]][m[b][c]]
แต่วิธีที่ง่ายที่สุดคือการย้ำกว่าแต่ละชุดเป็นไปได้ของสามดัชนีเพื่อตรวจสอบว่า
อินพุต
อินพุตจะเป็นรายการของแถวของเมทริกซ์จตุรัสโดยใช้ดัชนี 0 หรือดัชนี 1 รายการ (ตัวเลือกของคุณ) แต่ละรายการจะเป็นตัวเลขหลักเดียวจาก0
ถึง8
(หรือ1
ผ่าน9
) ฉันจะมีความยืดหยุ่นในรูปแบบการป้อนข้อมูล บางรูปแบบที่ยอมรับ ได้แก่ :
- ภาษาของคุณการจัดรูปแบบเป็นธรรมชาติมากที่สุดสำหรับการฝึกอบรมหรือรายการเช่นหรือ
[[0 0 0][2 1 1][1 2 2]]
(0,0,0,2,1,1,1,2,2)
- รายการค่าคั่นด้วยช่องว่าง, การขึ้นบรรทัดใหม่, จุลภาค ฯลฯ
000211122
สายเดียวประกอบด้วยค่าทั้งหมดตัดแบ่งกันเช่น
คุณยังได้รับอนุญาตให้นำทรานสดิวเซอร์ของเมทริกซ์เป็นอินพุต (สลับแถวกับคอลัมน์) เพียงให้แน่ใจว่าได้ระบุสิ่งนี้ไว้ในคำตอบของคุณ
เอาท์พุต
ค่าความจริง / ค่าเท็จหนึ่งค่าที่ระบุสถานะของเมทริกซ์ว่าเป็นค่าที่ไม่แน่นอน
ตัวอย่างของความไม่แน่ใจ
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
ตัวอย่างของความไม่แน่ใจ
ไม่ปิด
1
0 0 0
2 1 1
1 9 2
ไม่ถูกจำหน่ายด้วยตนเอง
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
ไม่สามารถหารได้
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
ไม่ใช่ idempotent
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