Эта задача частично является задачей алгоритмов, частично задачей оптимизации, а частично просто самой быстрой задачей кода.
Матрица 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 Александра-Бретта