?

Log in

нестандартное программирование
 Есть 25 лошадей. Нужно выбрать 3 самые быстрые, для этого… 
25th-Feb-2011 03:10 pm
 Есть 25 лошадей. Нужно выбрать 3 самые быстрые, для этого проводятся скачки в которых участвуют по 5 лошадей. В скачках первые 3 лошади получают золотую, серебренную и бронзовую медаль(1,2,3 место). Вопрос : Сколько скачек нужно провести, чтобы найти 3 самые быстрые из 25?

Как решите вы?

Я решил так, в правильности не уверен:
1)проводим первую скачку и оставляем 3 самые быстрые лошади в турнире, 2 выходят из турнира;
2 )берём лошадь занявшую 3 место в предыдущих скачках и 4 из оставшихся и проводим скачку.
оставляем тех лошадей, которые пришли в 3ке лидеров и оказались быстрее, чем с медалью из первых скачек. Все остальные лошади принимавшие участие в с качке выходят из турнира.
3тья лошадь из первого заезда покидает турнир, если не пришла первой во втором.
3)если в пункте 2 выбыло 4 лошади то переходим к пункту 2, если < то к 1.
Повторяем шаг 1-3 пока не останется 3 лошади. В итоге при лучшем исходе понадобится 6 заездов, а при худшем 9. Так как при каждой итерации первые 5 лошадей будут всё быстрее и быстрее, вероятность того, что на втором шаге будут вылетать 4 лошади возрастает с каждой итерацией. 9 скачек понадобится, только если массив лошадей упорядочен в обратную сторону.
This page was loaded Feb 25th 2017, 9:10 am GMT.