Ха! Где сравнение дорогое ("в жизни"), там ещё есть ошибки эксперимента и т.п., а элегантные решения к таким вещам часто гораздо менее устойчивы, чем "тупые".
По-моему, действительно детская задача на перебор вариантов. Никакой изюминки, кроме достаточно очевидного посыла, что начинать сравнивать надо не линейно, а по парам и потом вводить 5-е число.
указанное решение не верное. сравнили 1<2, 3<4 теперь, сравнив 1:3 и переставив, что бы получить 1<3 мы можем получить вариант: 1<2 1<3 но отношение 3<4 пропадает. для его поддержания нужно еще одно сравнение. пример 8,9,3,4,7 1 - 8<9 2 - 3 < 4 3 - 1:3 + swap получаем 3,9,8,4 условие 3<4 не выполняется.
я был не совсем прав. по тому адресу просто решение плохо записано. точнее, не указано, что перестановок можно сделать много и тем самым удержать дополнительное сравнение.
Для начало нужно понимать идею. PS: но за подсказку спасибо, я помню была на топкодере похожая задачка только нужно было написать программу, которая найдет не кратчайшую последовательсть сравнений, а наиболее дешевую.
Я, может, туплю где-то. Набросал программку на питоне, которая умудряется таки перебрать все варианты меньше чем за секунду если ей чуть-чуть помочь (задать явно порядок между первым и вторым числом). И результаты она вполне правдоподобные выводит если попросить за 8 сравнений отсортировать.
А для семи сравнений она утверждает, что решения нет. При этом я точно знаю, что 5! < 2**7.
Как так? У меня в программе глюк? Или там где-то информация неприятно округляется и из-за этого её не хватает?
Это смотря что называть простым решением. Я бы не назвал decision tree (с подробным описанием того, что и где мы сравниваем) глубины 5 таким уж простым решением.
авва ж скрывает каменты. мне показалась задачка безумно простой, потому что сложные я обычно решать не умею. правда, я и здесь ошибся в числе сравнений, но там один шаг до верного. вообще вот такие задачи я б давал, да. а то ведь просят чёрт знает что - xor'ить колпаки, например. нет чтоб спросить: лыжник проехал 1 километр и поймал ртом 20 снежинок. оцените дальность видимости. вот, я понимаю, тут думать надо, моделировать. это тебе не математика какая-то.
>лыжник проехал 1 километр и поймал ртом 20 снежинок. >оцените дальность видимости хорошая формулировка, напомнила задачу "почему в тумане всё выглядит одинаково" украинского ТЮФа какого-то там года :)
no subject
А практического смысла задача сейчас не имеет, если не иметь в виду тренировку мозгов.
no subject
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
(no subject)
no subject
no subject
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
Не говори гоп
Тем более что с грепом и wc можно особенно глаза не трудить выискиваючи.
Re: Не говори гоп
Re: Не говори гоп
Re: Не говори гоп
Re: Не говори гоп
Re: Не говори гоп
Re: Не говори гоп
Re: Не говори гоп
Re: Не говори гоп
Re: Не говори гоп
no subject
no subject
сравнили 1<2, 3<4
теперь, сравнив 1:3 и переставив, что бы получить
1<3 мы можем получить вариант:
1<2
1<3
но отношение 3<4 пропадает. для его поддержания нужно
еще одно сравнение.
пример
8,9,3,4,7
1 - 8<9
2 - 3 < 4
3 - 1:3 + swap получаем 3,9,8,4
условие 3<4 не выполняется.
no subject
по тому адресу просто решение плохо записано.
точнее, не указано, что перестановок можно сделать
много и тем самым удержать дополнительное сравнение.
no subject
:)))
хотя записано оно действительно небрежно.
(no subject)
no subject
no subject
no subject
PS: но за подсказку спасибо, я помню была на топкодере похожая задачка только нужно было написать программу, которая найдет не кратчайшую последовательсть сравнений, а наиболее дешевую.
(no subject)
(no subject)
no subject
Набросал программку на питоне, которая умудряется таки перебрать все варианты меньше чем за секунду если ей чуть-чуть помочь (задать явно порядок между первым и вторым числом). И результаты она вполне правдоподобные выводит если попросить за 8 сравнений отсортировать.
А для семи сравнений она утверждает, что решения нет.
При этом я точно знаю, что 5! < 2**7.
Как так? У меня в программе глюк? Или там где-то информация неприятно округляется и из-за этого её не хватает?
no subject
решение есть и оно очень простое...
no subject
no subject
no subject
>оцените дальность видимости
хорошая формулировка, напомнила задачу "почему в тумане всё выглядит одинаково" украинского ТЮФа какого-то там года :)
no subject
no subject