Ця проблема є частково викликом алгоритмів, частково завданням оптимізації та частково просто викликом найшвидшого коду.
Матриця 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 тут справедливі, але вони не є оптимальними. Існують Т-матриці без властивості X, які не є циклічними.
Наприклад, є матриця 7 на 12 Т без властивості X, але такої циклічної матриці немає.
21/11 переміг би всі поточні відповіді з цього та попереднього виклику.
Мови та бібліотеки
Ви можете використовувати будь-яку мову, у якій є доступний компілятор / перекладач / тощо. для Linux та будь-яких бібліотек, які також вільно доступні для Linux.
Бонус Перша відповідь із більшою кількістю балів отримує негайну нагороду у розмірі 200 балів . Тон Євангелія досяг цього!
Поточна лідерська рада
- C ++ . Оцінка 31/15 за тоном Євангелія
- Java . Оцінка 36/19 Пітера Тейлора
- Хаскелл . Оцінка 14/8 від Олександра-Бретта