Ха! Где сравнение дорогое ("в жизни"), там ещё есть ошибки эксперимента и т.п., а элегантные решения к таким вещам часто гораздо менее устойчивы, чем "тупые".
По-моему, действительно детская задача на перебор вариантов. Никакой изюминки, кроме достаточно очевидного посыла, что начинать сравнивать надо не линейно, а по парам и потом вводить 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
Date: 2008-07-17 12:18 am (UTC)А практического смысла задача сейчас не имеет, если не иметь в виду тренировку мозгов.
no subject
Date: 2008-07-17 01:19 am (UTC)no subject
Date: 2008-07-17 05:37 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-07-17 11:27 pm (UTC)(no subject)
From:no subject
Date: 2008-07-17 12:28 am (UTC)no subject
Date: 2008-07-17 12:29 am (UTC)no subject
Date: 2008-07-17 12:35 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Не говори гоп
Date: 2008-07-17 12:46 am (UTC)Тем более что с грепом и wc можно особенно глаза не трудить выискиваючи.
Re: Не говори гоп
Date: 2008-07-17 02:14 am (UTC)Re: Не говори гоп
Date: 2008-07-17 02:53 am (UTC)Re: Не говори гоп
Date: 2008-07-17 04:10 am (UTC)Re: Не говори гоп
From:Re: Не говори гоп
From:Re: Не говори гоп
From:Re: Не говори гоп
From:Re: Не говори гоп
From:Re: Не говори гоп
From:no subject
Date: 2008-07-17 02:16 am (UTC)no subject
Date: 2008-07-17 07:27 am (UTC)сравнили 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
Date: 2008-07-17 03:39 pm (UTC)по тому адресу просто решение плохо записано.
точнее, не указано, что перестановок можно сделать
много и тем самым удержать дополнительное сравнение.
no subject
Date: 2008-07-17 08:51 pm (UTC):)))
хотя записано оно действительно небрежно.
(no subject)
From:no subject
Date: 2008-07-17 02:33 am (UTC)no subject
Date: 2008-07-17 02:57 am (UTC)no subject
Date: 2008-07-17 06:43 pm (UTC)PS: но за подсказку спасибо, я помню была на топкодере похожая задачка только нужно было написать программу, которая найдет не кратчайшую последовательсть сравнений, а наиболее дешевую.
(no subject)
From:(no subject)
From:no subject
Date: 2008-07-17 02:07 pm (UTC)Набросал программку на питоне, которая умудряется таки перебрать все варианты меньше чем за секунду если ей чуть-чуть помочь (задать явно порядок между первым и вторым числом). И результаты она вполне правдоподобные выводит если попросить за 8 сравнений отсортировать.
А для семи сравнений она утверждает, что решения нет.
При этом я точно знаю, что 5! < 2**7.
Как так? У меня в программе глюк? Или там где-то информация неприятно округляется и из-за этого её не хватает?
no subject
Date: 2008-07-17 03:40 pm (UTC)решение есть и оно очень простое...
no subject
Date: 2008-07-17 06:44 pm (UTC)no subject
Date: 2008-07-17 03:30 pm (UTC)no subject
Date: 2008-07-17 07:20 pm (UTC)>оцените дальность видимости
хорошая формулировка, напомнила задачу "почему в тумане всё выглядит одинаково" украинского ТЮФа какого-то там года :)
no subject
Date: 2008-07-17 06:45 pm (UTC)no subject
Date: 2008-07-18 03:16 am (UTC)