![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.11.2012
Сообщений: 36
|
![]()
Дана прямоугольная таблица, состоящая из m строк и n столбцов. На пересечении i-й строки и j-го столбца записано целое число aij.
Требуется найти такие четыре различные ячейки таблицы, чтобы их центры были вершинами прямоугольника со сторонами, параллельными сторонам таблицы, а сумма чисел, записанных в этих ячейках, была максимальна. Формат входных данных На первой строке записаны два натуральных числа m и n (2 ≤ m, n ≤ 500). Далее следует описание таблицы – m строк, каждая из которых содержит по n целых чисел (-107 ≤ aij ≤ 107). Формат выходных данных На первой строке выходного файла выведите целое число r – максимальную сумму выбранных элементов, на второй строке выведите 4 натуральных числа x1, y1, x2, y2 – координаты левой верхней и правой нижней из выбранных ячеек, соответственно (1 ≤ x1 < x2 ≤ m, 1 ≤ y1 < y2 ≤ n). Если оптимальных решений несколько, выведите любое. Пример Входные данные 5 5 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 Выходные данных 7 2 2 4 4 Помогите решить! НА ум приходит только перебор, но он не зайдет по времени, код можно не писать - главное подать идею решения |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
![]()
А для чего задачка? Если не секрет.
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
![]()
странный Вы...
![]() Ну для чего решают олимпиадные задачи? В данном случае, скорее всего для того, чтобы получить оценку или зачёт. А ещё возмножно (хоть и ОЧЕНЬ маловероятно) что TC решает задачу "для себя", чтобы поднять свой программерский скил! А по сути самой задачи. я другого варианта решения, кроме перебора, и не вижу. |
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]()
ИМХО, тут простой перебор.. При таких ограничениях - он будет просто летать..
Просто поставить в левый верхний угол матрицу 2 на 2, посщитать её сумму, запомнить координаты, перенести матрицу на 1 позицию влево, снова найти сумму, если она превышает предыдущую, заменить сумму, заменить координаты.. Когда дошли до конца строки, сдвинуть левый верхний угол "маленькой" матрицы, в позицию (2,1) и снова.. |
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
![]() Цитата:
Программист решает задачи ради какого-то результата. К стати, автор так и не ответил.
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
![]()
Возможно, если расположить все числа по убыванию, а потом перебором найти максимальные четыре, координаты которых сооставляют прямоугольник, то выйдет немного быстрее чем простой перебор. Но выйгрышь по времени если будет, то будет небольшой и не во всех случаях.
Вот несколько найденных в сети решений: Код:
Код:
Код:
Последний раз редактировалось Kix.IV; 14.10.2013 в 18:20. |
![]() |
![]() |
![]() |
#7 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 11.11.2012
Сообщений: 36
|
![]()
Разобрался, тему можно закрыть...
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дана целочисленная прямоугольная матрица. | Nastasia_NST | Помощь студентам | 1 | 10.05.2012 21:23 |
Дана целочисленная прямоугольная матрицана C+ | Satkoeva | Общие вопросы C/C++ | 2 | 10.11.2011 19:09 |
В квадратной матрице найти столбец с максимальной суммой и строку с максимальной суммой (Pascal) | Alexey355 | Помощь студентам | 1 | 26.03.2011 14:06 |
Дана целочисленная прямоугольная матрица. | Lollipo | Общие вопросы C/C++ | 1 | 12.10.2010 10:52 |
дана целочисленная прямоугольная матрица | Jet-Tea | Общие вопросы C/C++ | 9 | 02.06.2010 16:41 |