Вступ
Ви можете пропустити цю частину, якщо вже знаєте, що таке циклічна група.
Група визначається набором та асоціативною бінарною операцією $
(тобто (a $ b) $ c = a $ (b $ c)
. Існує рівно один елемент у групі, e
де a $ e = a = e $ a
для всіх a
у групі ( ідентичність ). Для кожного елемента a
групи існує саме такий b
такий, що a $ b = e = b $ a
( обернений ) .За кожними двома елементами a, b
в групі, a $ b
є в групі ( закриття ).
Ми можемо написати a^n
замість a$a$a$...$a
.
Циклічна підгрупа , породжена будь-яким елементом a
в групі , <a> = {e, a, a^2, a^3, a^4, ..., a^(n-1)}
де n
є порядок (розмір) підгрупи (якщо підгрупа не нескінченна).
Група є циклічною, якщо вона може бути породжена одним із її елементів.
Виклик
Давши таблицю Кейлі (таблицю продуктів) для кінцевої групи, визначте, циклічна вона чи ні.
Приклад
Давайте розглянемо наступну таблицю Кейлі:
1 2 3 4 5 6
2 3 1 6 4 5
3 1 2 5 6 4
4 5 6 1 2 3
5 6 4 3 1 2
6 4 5 2 3 1
(Це таблиця Кейлі для Діедральної групи 3, D_3).
Це 1-індексований, тому, якщо ми хочемо знайти значення 5 $ 3
, ми дивимось у п’ятому стовпчику третього ряду (зауважимо, що оператор не обов'язково комутативний, тому 5 $ 3
не обов'язково дорівнює 3 $ 5
. Ми бачимо тут це 5 $ 3 = 6
(також, що 3 $ 5 = 4
).
Ми можемо знайти <3>
, починаючи з [3]
, а потім, поки список унікальний, додаємо добуток останнього елемента та генератора (3). Ми отримуємо [3, 3 $ 3 = 2, 2 $ 3 = 1, 1 $ 3 = 3]
. Ми зупиняємось тут на підгрупі {3, 2, 1}
.
Якщо обчислювати <1>
через <6>
ви побачите , що жоден з елементів групи не породжують всю групу. Таким чином, ця група не циклічна.
Випробування
Вхід буде надано у вигляді матриці, вихід у вигляді значення "truthy / falesy".
[[1,2,3,4,5,6],[2,3,1,6,4,5],[3,1,2,5,6,4],[4,5,6,1,2,3],[5,6,4,3,1,2],[6,4,5,2,3,1]] -> False (D_3)
[[1]] -> True ({e})
[[1,2,3,4],[2,3,4,1],[3,4,1,2],[4,1,2,3]] -> True ({1, i, -1, -i})
[[3,2,4,1],[2,4,1,3],[4,1,3,2],[1,3,2,4]] -> True ({-1, i, -i, 1})
[[1,2],[2,1]] -> True ({e, a} with a^-1=a)
[[1,2,3,4,5,6,7,8],[2,3,4,1,6,7,8,5],[3,4,1,2,7,8,5,6],[4,1,2,3,8,5,6,7],[5,8,7,6,1,4,3,2],[6,5,8,7,2,1,4,3],[7,6,5,8,3,2,1,4],[8,7,6,5,4,3,2,1]] -> False (D_4)
[[1,2,3,4,5,6],[2,1,4,3,6,5],[3,4,5,6,1,2],[4,3,6,5,2,1],[5,6,1,2,3,4],[6,5,2,1,4,3]] -> True (product of cyclic subgroups of order 2 and 3, thanks to Zgarb)
[[1,2,3,4],[2,1,4,3],[3,4,1,2],[4,3,1,2]] -> False (Abelian but not cyclic; thanks to xnor)
Вам буде гарантовано, що вхід завжди буде груповим.
Ви можете приймати введення як 0-індексовані значення.
[1..n]
що може ховати недоліки в деяких відповідях.
[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]]
)?