Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2011, 16:43   #11
clasterit
Пользователь
 
Регистрация: 23.10.2011
Сообщений: 17
По умолчанию

Serge_Bliznykov, спасибо. Про 0 не подумал.
За ссылку спасибо. Потом, когда будет свободного времени побольше, то разберусь.
clasterit вне форума Ответить с цитированием
Старый 25.10.2011, 19:29   #12
clasterit
Пользователь
 
Регистрация: 23.10.2011
Сообщений: 17
По умолчанию

ех... читал-читал, да ничего не вычитал))
там же не Паскаль. очень жаль(
clasterit вне форума Ответить с цитированием
Старый 25.10.2011, 22:37   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Serge_Bliznykov, спасибо. Про 0 не подумал.
дык, ноль(одно зёрнышко) это так - дополнительный эффект.
главная фишка, что на цвет остающегося зёрнышка влияет исключительно чётность/нечётность количества БЕЛЫХ зёрен. (а не чёрных, как Вы ошибочно решили, судя по вашему решению).

Что же касается второй задачи, то главное, что Вы должны были вынести по ссылке - это АЛГОРИТМЫ решения.
Их там предложено несколько.
смотрите пост #4 и пост #5
подход такой - нужно или отсортировать массив по модулям величин, или
посчитать, сколько в массиве положительных и отрицательных чисел.
Ну а дальше принимать решения исходя из того, сколько среди этих выбранных максимальных чисел есть отрицательных, сколько есть положительных, и каковы их произведения.

например, если отрицательных чисел меньше двух (или 0 т.е. нет совсем), тогда ответом однозначно является произведение трёх самых больших положительных.

Если положительных нет - тогда нужно найти три МИНИМАЛЬНЫХ (по модулю) отрицательных чисел - это и будет ответ. (и ответ, кстати, будет отрицательный!!)

Если положительное число одно - тогда ответ - два максимальных (по модулю) отрицательных и единственное положительное.

Если же и отрицательных и положительных чисел больше одного, тогда нужно выбрать из таблицы два максимальных (по модулю) ОТРИЦАТЕЛЬНЫХ числа и три максимальных ПОЛОЖИТЕЛЬНЫХ числа.
сравнить, что больше произведение 2-х отрицательных на самое большое положительное или трёх самых больших положительных - это и будет ответ.

p.s. т.к. чисел всего 106 - то они и в памяти все легко разместятся, и пройтись по массиву/отсортировать/обработать займёт ДОЛИ секунды (т.е. ограничение по времени лёгко может быть преодолено).
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3 олимпиадные задачки ZePr Паскаль, Turbo Pascal, PascalABC.NET 2 13.10.2011 18:09
Помогите решить задачки Newum Помощь студентам 6 02.07.2009 14:12
Задачки на Паскале помогите пожалуйста решить 2 задачки, а то отчислят. плиз VADOS2009-1 Помощь студентам 0 03.06.2009 18:11
Помогите решить задачки по С++ Gavrik Помощь студентам 6 20.02.2009 23:49
ПОМОГИТЕ РЕШИТЬ ЗАДАЧКИ! Ватрушка90 Microsoft Office Excel 5 04.12.2008 21:48