Двухгранна група - це група симетрії квадрата, тобто ходи, які перетворюють квадрат до себе за допомогою обертань та віддзеркалень. Він складається з 8 елементів: обертання на 0, 90, 180 та 270 градусів і відображення по горизонтальній, вертикальній та двох діагональних осях.
Зображення - це з цієї чудової сторінки Ларрі Ріддла.
Це завдання полягає у складанні цих рухів: задавши два рухи, виведіть хід, еквівалентний виконанню їх один за одним. Наприклад, робити хід 7, за яким рухається крок 4 - це те саме, що робити хід 5.
Зауважте, що перемикання наказу на переміщення 4, а потім на переміщення 7 натомість призводить до переміщення 6.
Результати наведені в таблиці нижче; це таблиця Кейлі групи . Так, наприклад, входи повинні давати вихід .
Виклик
Ваша мета - реалізувати цю операцію якомога менше байтів, але крім коду, ви також вибираєте мітки, які представляють ходи від 1 до 8. На мітках має бути 8 чітких чисел від 0 до 255 , або 8 -байтові символи, які представляють їхні кодові точки.
Ваш код отримає дві мітки з обраних вами 8, і повинен вивести мітку, що відповідає їхньому складу, у двогранній групі .
Приклад
Скажіть, що ви вибрали символи C, O, M, P, U, T, E, R для руху 1 по 8 відповідно. Тоді ваш код повинен реалізувати цю таблицю.
Враховуючи входи 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.
розум детальніше? На даний момент я можу жорстко кодувати матрицю до свого коду і стверджувати, що вона не рахується з моєю оцінкою.