Вам дана матрица целых чисел размером n × m , где n, m> 3 . Ваша задача - найти субматрицу 3 на 3, которая имеет наименьшее среднее значение, и вывести это значение.
Правила и разъяснения:
- Целые числа будут неотрицательными
- Дополнительный формат ввода и вывода
- Вывод должен быть точным, по крайней мере, до 2 десятичных точек (если это не целое число)
- Подматрицы могут состоять из произвольных столбцов и строк
Тестовые случаи:
1 0 4 0 1 0
1 0 4 0 1 0
4 3 4 3 4 3
1 0 4 0 1 0
Minimum mean: 0 (We have chosen columns 2,4,6 and rows 1,2,4 (1-indexed)
-----------------------------
4 8 9 7
5 10 1 5
8 5 2 4
8 3 5 10
6 6 3 4
Minimum mean: 4.2222
-----------------------------
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
Minimum mean: 0.11111
-----------------------------
371 565 361 625 879 504 113 104
943 544 157 799 726 832 228 405
743 114 171 506 943 181 823 454
503 410 333 735 554 227 423 662
629 439 191 707 52 751 506 924
Minimum mean: 309.56
Ответы:
Mathematica,
7750 байт
является оператором транспозиции Mathematica (и отображается как верхний индекс T в Mathematica).Этот ответ сначала определяет вспомогательный оператор,
±
который возвращает все 3-элементные подмножества списка, а затем оценивает безымянную функцию, которая использует этот оператор для решения проблемы.Это делается путем первого вычисления всех трехэлементных подмножеств строк матрицы. Затем для каждого такого подмножества мы транспонируем его и вычисляем его 3-элементное подмножество строк. Это дает нам все возможные подматрицы 3x3 (хотя они транспонированы). Затем мы вычисляем среднее значение для всех из них и находим общий минимум.
источник
Желе ,
1512 байтПопробуйте онлайн!
Как это устроено
источник
œc3S€µ⁺€FṂ÷9
это то, что я получил ... РЕДАКТИРОВАТЬ - ха-ха и просто так вы делаете то же самое: D9
, разделив3
внутри повторяющейся цепочки, но возможно ли получить3
в качестве правильного аргумента такой, что это возможно в 11?⁺
), а внутри цепочки вы должны либо указать3
явно, либо сгруппировать ее÷
.05AB1E ,
2116 байтПопробуйте онлайн!
объяснение
источник
Haskell , 90 байт
Попробуйте онлайн!
источник
concatMap t
можно сократить до(>>=t)
Бин , 198 байт
HexDump:
Эквивалентный JavaScript:
Попробуйте демо здесь
источник