기술
f(m, G)
맵핑 m
과 인수가 아닌 고유 한 음수가 아닌 정수 세트 / 목록을 인수로 받아들이 는 함수 를 작성하십시오 G
.
m
의 정수 쌍을의 G
새 정수에 매핑해야합니다 G
. ( G
, m
)는 유한 아벨 리아 그룹 을 형성한다고 보장 되지만, 어떤 요소라도 G
정체성 일 수있다.
다음과 같은 중요한 정리가 있습니다.
f
주요 능력 목록을 [p1, ... pn]
오름차순으로 반환해야합니다.
예
f((a, b) → (a+b) mod 4, [0, 1, 2, 3])
[4]
매개 변수가 그룹 Z 4를 설명하므로 반환해야합니다 .f((a, b) → a xor b, [0, 1, 2, 3])
[2, 2]
매개 변수가 Z 2 × Z 2에 대해 동형 그룹을 설명하므로 반환해야합니다 .f((a, b) → a, [9])
[]
매개 변수가 사소한 그룹을 설명하므로을 반환해야합니다 . 즉, 제로시 클릭 기의 생성물.m
다음과 같이 정의하십시오 .(a, b) → (a mod 3 + b mod 3) mod 3 + ((floor(a / 3) + floor(b / 3)) mod 3) * 3 + ((floor(a / 9) + floor(b / 9)) mod 9) * 9
이어서
f(m, [0, 1, ..., 80])
반환해야[3, 3, 9]
이 그룹에 동형으로, Z 3 × Z 3 × Z 9
규칙
m
함수 (또는 함수에 대한 함수 포인터)Int × Int → Int
이거나의G × G
새 요소에 대한 사전 매핑 쌍일 수G
있습니다.f
매개 변수를 반대 순서로 취할 수도 있습니다f(G, m)
. 즉, 구현할 수도 있습니다 .구현은 이론적 으로 임의로 큰 입력에 효과적이지만 실제로 효율적일 필요는 없습니다.
어떤 종류의 내장 사용에도 제한이 없습니다.
표준 코드 골프 규칙이 적용됩니다. 바이트 단위의 최단 코드가 이깁니다.
리더 보드
점수가 보드에 표시 되려면 다음 형식이어야합니다.
# Language, Bytes
for a in G: for b in G: d[(a, b)] = m(a, b)
.
AABC
삼중 (A, B, C)
항으로 처리 하는 형식의 삼중 항으로 삼항 숫자로 작동합니다 (9, 3, 3)
.
m
사전이 될 수있다, 당신은뿐만 아니라 사전으로 테스트 케이스를 제공 할 수있다?