Nhóm dih thờ là nhóm đối xứng của hình vuông, đó là các chuyển động biến đổi một hình vuông thành chính nó thông qua các phép quay và phản xạ. Nó bao gồm 8 yếu tố: xoay 0, 90, 180 và 270 độ, và phản xạ trên các trục ngang, dọc và hai trục chéo.
Những hình ảnh là tất cả từ trang đáng yêu này của Larry Riddle.
Thử thách này là về việc sáng tác các động tác này: đưa ra hai động tác, đưa ra động thái tương đương với thực hiện lần lượt từng bước một. Chẳng hạn, thực hiện di chuyển 7 theo sau di chuyển 4 cũng giống như thực hiện di chuyển 5.
Lưu ý rằng chuyển đổi thứ tự để di chuyển 4 sau đó di chuyển 7 tạo ra di chuyển 6 thay thế.
Các kết quả được lập bảng dưới đây; đây là bảng Cayley của nhóm . Vì vậy, ví dụ, đầu vào nên tạo đầu ra .
Thử thách
Mục tiêu của bạn là triển khai thao tác này theo càng ít byte càng tốt, nhưng ngoài mã, bạn cũng chọn các nhãn đại diện cho các bước 1 đến 8. Các nhãn phải có 8 số riêng biệt từ 0 đến 255 hoặc 8 số ký tự -byte điểm mã của họ đại diện.
Mã của bạn sẽ được cung cấp hai trong số các nhãn trong số 8 nhãn bạn đã chọn và phải xuất nhãn tương ứng với thành phần của chúng trong nhóm dih thờ .
Thí dụ
Giả sử bạn đã chọn các ký tự C, O, M, P, U, T, E, R cho các lần di chuyển từ 1 đến 8. Sau đó, mã của bạn nên thực hiện bảng này.
Cho đầu vào E và P, bạn nên xuất U. Đầu vào của bạn sẽ luôn là hai trong số các chữ cái C, O, M, P, U, T, E, R và đầu ra của bạn phải luôn là một trong những chữ cái này.
Bảng văn bản để sao chép
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.
Tâm xây dựng? Khi nó đứng, tôi có thể mã hóa ma trận vào mã của mình và tuyên bố nó không được tính vào điểm số của tôi.