Эта задача частично является задачей алгоритмов, частично задачей оптимизации, а частично просто самой быстрой задачей кода.
Матрица AT полностью указана в первой строке r
и в первом столбце c
. Каждый оставшийся элемент матрицы является просто копией элемента, который расположен по диагонали вверх и влево. То есть M[i,j] = M[i-1,j-1]
. Мы допустим T матриц, которые не являются квадратными. Однако мы всегда предполагаем, что количество строк не больше, чем количество столбцов. Например, рассмотрим следующую матрицу 3 на 5 Т.
10111
11011
11101
Мы говорим, что матрица обладает свойством X, если она содержит два непустых набора столбцов с неидентичными индексами, которые имеют одинаковую (векторную) сумму. Векторная сумма одного или нескольких столбцов представляет собой просто поэлементное суммирование их столбцов. То есть сумма двух или более столбцов, содержащих x
элементы, каждый представляет собой другой столбец, содержащий x
элементы. Сумма одного столбца тривиально является самим столбцом.
Приведенная выше матрица тривиально обладает свойством X, поскольку первый и последний столбцы совпадают. Тождественная матрица никогда не обладает свойством X.
Если мы просто удалим последний столбец матрицы выше, то получим пример, который не имеет свойства X и даст оценку 4/3.
1011
1101
1110
Задание
Задача состоит в том, чтобы написать код, чтобы найти T-матрицу с наивысшей оценкой с двоичными записями и не имеет свойства X. Для ясности, матрица с двоичными записями обладает тем свойством, что каждая из ее записей равна 0 или 1.
Гол
Ваша оценка будет равна количеству столбцов, разделенному на количество строк в вашей наилучшей оценочной матрице.
Tie Breaker
Если два ответа имеют одинаковую оценку, победит тот, который отправил первый.
В (очень) маловероятном случае, когда кто-то найдет способ получить неограниченное количество баллов, будет принято первое действительное доказательство такого решения. В еще более маловероятном случае, когда вы сможете найти доказательство оптимальности конечной матрицы, я, конечно, также призову победу.
намек
Все ответы в Найти матрицу наивысшей оценки без свойства X действительны здесь, но они не являются оптимальными. Существуют T матриц без свойства X, которые не являются циклическими.
Например, существует матрица 7 на 12 T без свойства X, но такой циклической матрицы нет.
21/11 побьет все текущие ответы от этого и предыдущего вызова.
Языки и библиотеки
Вы можете использовать любой язык со свободно доступным компилятором / интерпретатором и т. Д. для Linux и любых библиотек, которые также свободно доступны для Linux.
Бонус Первый ответ, набравший больше 2 баллов, сразу же получает награду в 200 баллов . Тон Хоспель достиг этого!
Текущий список лидеров
- С ++ . Счет 31/15 от Ton Hospel
- Java . Счет 36/19 от Питера Тейлора
- Haskell . Счет 14/8 Александра-Бретта