![]() |
Кто решает эту задачу за 2 часа принимаются на Лондонскую биржу
Есть 12 шаров, 11 одинаковых, 12-й либо тяжелее, либо легче (это неизвестно)
Есть весы, которые бывают в 3-х положениях "больше", "меньше" и "поровну" Есть 3 взвешивания, которые можно сделать Необходимо определить какой из шаров - имеет аномальную массу |
12 шаров в 2 кучи=1 куча тяжелей
берем тяжелую кучу и взвешиваем по 2, пока один из них не окажется тяжелей... |
шар может быть и легче
если бы только тяжелее- все проще |
тут неизвестно тяжелее или легче 12 шар
|
*лять
|
ТС ответ знаешь?
|
Решил задачу в 4 взвешивания. 4ыйбыл нужен для проверки. Три это очень мало
|
1. делим 12 пополам взвешиваем .... выбераем более тяжелую партию шаров
2. делим 6 пополам взвешиваем .... выбераем более тяжелую партию шаров 3. берем 2 любых из 3 оставшихся и взвешиваем ... если равны то аномальный тот который не взвешивали ... иначе тот который тяжелее на весах |
блин действительно может и легче же быть
|
MuXaJIbI4 12 шар может быть и легче, всех! Так что решение не верно
|
Цитата:
|
Взвешиваем по 4 шара, если они равны значит нужный нам шар в остальных 4ех шарах.
Далее взвешиваем из остальных 4ех шаров, - 2 шара. Если они тоже равны значит взвешиваем из оставшихся 2ух шаров один из оставшихся и другой любой из гриуппы которая показала равность. Если равно, значит аномальный шар находится в оставшихся шарах. Если первое не равно показало, то взвешиваем 5 шаров из 8ми не равных и один шар из оставшихся не взвешиваемых. Если результат дал равно, то из той группы которую вервый раз взвешивали убираем шары которые второый раз взвешивали и взвешиваем их. Взвешиваем один шар из этой группы и другой шар любой из той группы которую мы не взвешивали. Если они равны значит шар который нам нужен это тот, который мы не взвешивали в 1ый и во 2ой раз. |
А сколько чашечек у етих весов???)
|
Да я отже видел картинку его
|
Цитата:
|
Все шары положить на весы, разделив поровну. И убирать по шару с каждой стороны.
|
Примерно так:
Код:
int BALL1 = 4; |
невнимательно прочитал :(
|
имхо1 надо опираться не на массу, а на "не аномальные шары" например взвешиваем 4 и 4 => если анамальный тут то другие 4 шара равные и с помошью них можно найти анамальный шар если анамального нет то 8 шаров одинаковые тут ещё проще
только меньше 4 взвесов не выходит имхо2 там какая то хитрая комбинация 5-5-2 или 6-4-2 хз надо подумать //add UnDRaux, .Slip читайте внимательно задание |
UnDRaux, там не сказано что аномальный шар тяжелее. Он может быть и легче.
Great_man, нет, ты изначально определил в программе что 12й шар аномальный. Сам для себя. Попробуй сделать ввод значений шаров с клавиатуры, и увидишь как алгоритм не найдёт нужный шар. |
Цитата:
_______________ видимо Лондонская биржа будет без ачатовцев :D |
да, вы правы... прочел невнимательно.
Ща подумаю иначе.... |
нашел 3 метода если взвешивать 4 раза :(
интересно вот что, если забрать по 1 шару с каждой чаши весов это считается за взвешивание..... |
Цитата:
|
Блин. Думаю так нада.
Взвесить по 6 шаров. Взять одну группу из 6 шаров взвесить между собой по 3 шара. Если они равны, то аномальная группа - другие 6 шаров. Если не равны, то один из этих 6 - аномальный Дальше пока хз ))) |
Не то.
|
гугл решил уже
http://www.lancer.com.ua/forum/viewtopic.php?t=40293&postdays=0&postorder=asc&sta rt=0 ДЛЯ особо одареных - ответ белым на белом фоне. |
Звоните на биржу, ребята!
AkyHa_MaTaTa, там ответа нет! Я ща отпишу вам всё!! там несколько вариаций! |
Бля нашел! Кароче сначала делим по 5. Два остается. Если пять монет равны пяти монетам. ТО берем одну из 2-х монет(оставшихся) И сравнивааем с одной кучейи з 5. Если равны то фальш та которая осталась. Если нет то то что положили. Рассматриваем вариант если одна из 5-ти меньше или больше. Делим в группы по два. Берем из более легкой группы две. Одну из них сравниваем с точно не фальшивой. Если равны. То 3-я которая осталась фальшивая. Если не равны, та которая не равна настоящей фальшивая!
|
Цитата:
|
Вообщем поехали:
Делим шары на 4 части по 3 шара. Вариант 1. Взвешиваем 2 тройки. Тут возможны 2 варианта, либо они равны, либо одна из партий иная по весу. Рассмотрим сначала вариант разного веса. Итак скажем тройка А тяжелее тройки Б. Убираем тройку Б, и ставим на весы тройку В... если оны равны, значит аномалия в тройке Б (Легче), если А опять перевесила, значит аномалия в тройке А (Тяжелее), далее по методу взвешиваем 2 шара нужной тройки и находим нужный шар (либо один из 2-х, либо оставшийся 3-й). Это вариант один. Вариант 2 Есть другой вариант..... если при взвешивании тройки А и Б они равны, то ставим на весы тройку А и В, если разница поменялась, то далее как в варианте 1 (мы узнаем нужную аномалию). Если же при взвешивании А и В равенство.... блять.... забыл :( щаща вспомню.. |
UnDRaux я точно так же и написал.)
|
Shaitan-Devil, UnDRaux, вы рассматриваете не все возможные варианты.
2UnDRaux, там не сказано что аномальный шар тяжелее/легче. Нельзя по весу групп шаров определять. |
Цитата:
Great_man у тебя иначе... |
А вообще задача решается одним запросом:
Код:
int[] balls = new int[12]; |
UnDRaux, Из группы 3х шаров в которой один аномальный, нельзя одним ходом найти аномальный.
PS Я брал 3 группы по 4 шара, если сразу две группы были равны, то я находил аномальный шар. А вот если не равны, то до конца не получилось. Мой способ дал 75% нахождения аномального шара. Да, кстати: Цитата:
Ты не потерял случайно тройку Г ? |
ты внимательнее читай Слип)))))
Рассмотрим сначала вариант разного веса. Итак скажем тройка А тяжелее тройки Б. Убираем тройку Б, и ставим на весы тройку В... если оны равны, значит аномалия в тройке Б (Легче), если А опять перевесила, значит аномалия в тройке А (Тяжелее), далее по методу взвешиваем 2 шара нужной тройки и находим нужный шар (либо один из 2-х, либо оставшийся 3-й). Это вариант один. ты пойми... если при первом взвешивании НЕравенство, то аномальная партия по любому в одной из первых троек. ТАК? тройка Г при этом вообще не нужна))) |
А если еще составить хэш таблицу соответствий, то можно упростить поиск нужного шара до Q(1) = одно действие. То нам вообще тогда весы даже не нужны будут. Уберите весы из задачи.
|
У меня как раз в отличи от тебя пробема при варианте равенства :(
|
UnDRaux:
Итак скажем тройка А тяжелее тройки Б // Ход 1 Убираем тройку Б, и ставим на весы тройку В... если оны равны, значит аномалия в тройке Б (Легче) // Ход 2 Третьим ходом ты ничего не сделаешь. Твой вариант не подходит. В очередной раз говорю, у тебя просчитаны далеко не все варианты. Твоим способом ты не найдёшь никак за три хода аномальный шар. Только группу за два хода. |
| Время: 16:06 |