2 면체 그룹 는 사각형 의 대칭 그룹 , 즉 회전과 반사를 통해 사각형을 자체로 변환하는 동작입니다. 0, 90, 180, 270도 회전, 가로, 세로 및 두 개의 대각선 축에 걸친 반사로 구성됩니다.
이미지는 Larry Riddle 의이 아름다운 페이지 에 있습니다.
이 과제는 이러한 움직임을 구성하는 것입니다. 두 번의 움직임이 주어지면 하나씩 이동하는 것과 같은 움직임을 출력합니다. 예를 들어, 이동 7 다음에 이동 4를 수행하는 것은 이동 5를 수행하는 것과 같습니다.
순서를 4로 이동 한 다음 7을 이동하면 대신 6이 이동합니다.
결과는 다음과 같습니다. 그룹 의 Cayley 테이블 입니다 . 예를 들어, 입력 는 출력 생성해야합니다 .
도전
이 작업은 가능한 한 적은 바이트로이 작업을 구현하는 것이지만 코드 외에도 1에서 8까지의 이동을 나타내는 레이블 을 선택 해야합니다. 레이블은 0에서 255 사이의 8 개의 고유 숫자 또는 8 개의 숫자 여야합니다. 코드 포인트가 나타내는 바이트 문자
코드에는 선택한 8 개의 레이블 중 2 되며, 2 면체 그룹 의 구성에 해당하는 레이블을 출력해야합니다 .
예
1에서 8까지의 이동에 대해 문자 C, O, M, P, U, T, E, R을 선택했다고 가정 해보십시오. 그런 다음 코드에서이 테이블을 구현해야합니다.
입력 E와 P가 주어지면 U를 출력해야합니다. 입력은 항상 문자 C, O, M, P, U, T, E, R 중 두 문자이며 출력은 항상이 문자 중 하나 여야합니다.
복사 용 텍스트 테이블
1 2 3 4 5 6 7 8
2 3 4 1 8 7 5 6
3 4 1 2 6 5 8 7
4 1 2 3 7 8 6 5
5 7 6 8 1 3 2 4
6 8 5 7 3 1 4 2
7 6 8 5 4 2 1 3
8 5 7 6 2 4 3 1
Your choice of labels doesn't count against your code length.
정교한 마음? 그대로, 매트릭스를 코드로 하드 코딩하고 점수에 맞지 않는다고 주장 할 수 있습니다.