Определения
Вы можете пропустить эту часть, если вы уже знаете определения групп , конечных групп и подгрупп .
группы
В абстрактной алгебре группа - это кортеж (G, ∗) , где G - множество, а ∗ - функция G × G → G такая, что имеет место следующее:
Замыкание: для всех x, y в G , x ∗ y также есть в G (подразумевается тот факт, что ∗ - функция G × G → G ).
Ассоциативность: для всех х, у, г в G , (х * у) * г = х * (у * г) .
Идентичность: существует элемент е в G , что для всех х в G , х * е = х = е * х .
Обратное: для каждого x в G существует такой элемент y в G , что x ∗ y = e = y ∗ x , где e - единичный элемент, упомянутый в предыдущем пункте.
Конечные группы
Конечная группа представляет собой группу (G, *) , где G конечна, то есть имеет конечное число элементов.
Подгруппы
Подгруппа (Н, *) группы (G, *) такова , что Н представляет собой подмножество G (не обязательно собственное подмножество) и (H, *) также является группой (т.е. удовлетворяет критериям 4 выше).
Примеры
Рассмотрим диэдральную группу D 3 (G, ∗), где G = {1, A, B, C, D, E} и ∗ определено ниже (такая таблица называется таблицей Кэли ):
∗ | 1 ABCDE - + ---------------------- 1 | 1 ABCDE A | AB 1 DEC Б | B 1 AECD C | CED 1 BA D | DCEA 1 B E | EDCBA 1
В этой группе тождество 1 . Кроме того, A и B являются инверсиями друг друга, в то время как 1 , C , D и E являются инверсиями самих себя соответственно (обратное значение 1 равно 1 , обратное значение C равно C , обратное значение D равно D , и обратное E является E ).
Теперь мы можем проверить, что (H, ∗), где H = {1, A, B}, является подгруппой в (G, ∗) . Для закрытия, обратитесь к таблице ниже:
∗ | 1 АБ - + ---------- 1 | 1 АБ A | AB 1 Б | B 1 A
где все возможные пары элементов в Н при * дают член в H .
Ассоциативность не требует проверки, так как элементы H являются элементами G .
Личность 1 . Это должно быть то же самое с идентичностью группы. Кроме того, личность в группе должна быть уникальной. (Вы можете доказать это?)
Для обратного, проверить , что обратная А это В , который является членом H . Обратный B является , который также является членом H . Инверсия 1 по-прежнему сама по себе, что не требует проверки.
задача
Описание
Для конечной группы (G, ∗) найдите число ее подгрупп.
вход
Для группы (G, *) , вы получите 2D массив размера N × N , где N есть число элементов в G . Предположим, что индекс 0
является элементом идентичности. 2D массив будет представлять таблицу умножения. Например, для группы выше вы получите следующий 2D-массив:
[[0, 1, 2, 3, 4, 5],
[1, 2, 0, 4, 5, 3],
[2, 0, 1, 5, 3, 4],
[3, 5, 4, 0, 2, 1],
[4, 3, 5, 1, 0, 2],
[5, 4, 3, 2, 1, 0]]
Например, вы можете видеть, что 3 ∗ 1 = 5, потому что a[3][1] = 5
, где a
2D-массив выше.
Примечания:
- Вы можете использовать 1-индексированный 2D-массив.
- Строка и столбец для идентификатора могут быть опущены.
- Вы можете использовать другие форматы по своему усмотрению, но они должны быть последовательными. (то есть вы можете захотеть, чтобы последний индекс был тождественным, и т. д.)
Выход
Положительное число, представляющее количество подгрупп в группе.
Например, для указанной выше группы (H, ∗) является подгруппой в (G, ∗) всякий раз, когда H =
- {1}
- {1, A, B}
- {1, C}
- {1, D}
- {1, E}
- {1, A, B, C, D, E}
Следовательно, существует 6 подгрупп, и ваш вывод для этого примера должен быть 6
.
Советы
Вы можете прочитать статьи, на которые я ссылался. Эти статьи содержат теоремы о группах и подгруппах, которые могут быть вам полезны.
счет
Это код-гольф . Ответ с наименьшим количеством байтов.
0
элемент тождества, то