Регистрация    Вход    Форум    Поиск    FAQ   alexlarin.net

Список форумов » Решение задач




 Страница 1 из 2 [ Сообщений: 15 ] На страницу 1, 2  След.



Автор Сообщение
 Заголовок сообщения: Задача о Фальшивых монетах
 Сообщение Добавлено: 07 ноя 2023, 07:19 
Не в сети
Аватар пользователя

Зарегистрирован: 22 мар 2015, 21:34
Сообщений: 36
Откуда: Самара
Перед вами стопка из N монет. В стопке есть все монеты номиналов от 1 до N, причём они упорядочены по возрастанию сверху-вниз. То есть, верхняя монета номиналом 1, а нижняя — N. Вес каждой монеты равен её номиналу. Некто заменил ровно три монеты в стопке на фальшивые — вес таких монет равен нулю. Вы можете спрашивать суммарный вес первых K монет сверху для любого 0 ≤ K ≤ N. N — количество монет (3 ≤ N ≤ 10^9)

Определите номиналы фальшивых монет не более чем за 10 вопросов, и тогда Некто подарит вам всю стопку монет.


Вернуться наверх 
 Заголовок сообщения: Re: Задача о Фальшивых монетах
 Сообщение Добавлено: 09 ноя 2023, 16:47 
Не в сети

Зарегистрирован: 13 янв 2019, 09:04
Сообщений: 594
Здравствуйте, Rimdalf! Спасибо за задачу!
Задача понравилась, поэтому захотелось её решить. Наличие ограничений на число монет подтолкнуло к поиску различных вариантов "сетки": степени двойки, степени десятки и т.д., но всегда что-то не ладилось, поэтому я стал искать другой путь и нашёл его, обратившись непосредственно к номиналам фальшивых монет. В результате удалось решить задачу всего за 4 вопроса при любом конечном числе монет, поэтому я немного переформулировал постановку задачи.
Подробности:

Вложение:
Задача про фальшивые монеты.pdf [391.35 KIB]
Скачиваний: 737


Вернуться наверх 
 Заголовок сообщения: Re: Задача о Фальшивых монетах
 Сообщение Добавлено: 10 ноя 2023, 18:34 
Не в сети
Аватар пользователя

Зарегистрирован: 18 ноя 2015, 07:49
Сообщений: 2290
Откуда: Ставрополь
Спасибо, Сергей Вениаминович!

Прекрасная идея! Что-то я сам до этого не догадался.
Но есть ошибки:
1) случай с `N=3` надо рассматривать отдельно;
2) При некоторых раскладах `S-1` больше `N`.

Но это мелочи. Есть ещё какая-то ошибка, но я не пойму какая. Второй день бьюсь, но никак не могу найти. Может, кто подскажет?

Прошу прощения!
С `N=3` не надо рассматривать отдельно. Там и так всё получается.


Последний раз редактировалось hpbhpb 12 ноя 2023, 12:59, всего редактировалось 1 раз.

Вернуться наверх 
 Заголовок сообщения: Re: Задача о Фальшивых монетах
 Сообщение Добавлено: 12 ноя 2023, 08:15 
Не в сети
Аватар пользователя

Зарегистрирован: 22 мар 2015, 21:34
Сообщений: 36
Откуда: Самара
Решение на PascalABC.NET


Вложения:
1680.jpg
1680.jpg [ 115.29 KIB | Просмотров: 4301 ]
Вернуться наверх 
 Заголовок сообщения: Re: Задача о Фальшивых монетах
 Сообщение Добавлено: 12 ноя 2023, 09:48 
Не в сети
Аватар пользователя

Зарегистрирован: 18 ноя 2015, 07:49
Сообщений: 2290
Откуда: Ставрополь
Всё равно не получается у меня. На 47-м тесте Wrong answer.

Вот код на Питоне:


Вложения:
ch8QZK5AHyc.jpg
ch8QZK5AHyc.jpg [ 111.26 KIB | Просмотров: 4298 ]
Вернуться наверх 
 Заголовок сообщения: Re: Задача о Фальшивых монетах
 Сообщение Добавлено: 12 ноя 2023, 11:18 
Не в сети
Аватар пользователя

Зарегистрирован: 22 мар 2015, 21:34
Сообщений: 36
Откуда: Самара
Да вроде Accepted.


Вложения:
1680_1.jpg
1680_1.jpg [ 910.38 KIB | Просмотров: 4273 ]
Вернуться наверх 
 Заголовок сообщения: Re: Задача о Фальшивых монетах
 Сообщение Добавлено: 12 ноя 2023, 11:23 
Не в сети
Аватар пользователя

Зарегистрирован: 18 ноя 2015, 07:49
Сообщений: 2290
Откуда: Ставрополь
Rimdalf писал(а):
Да вроде Accepted.


Не знаю. Я так понял, что задача прошла 46 тестов, а на 47-й не прошла.


Вложения:
BZn20vEEhNU.jpg
BZn20vEEhNU.jpg [ 705.22 KIB | Просмотров: 4269 ]
Вернуться наверх 
 Заголовок сообщения: Re: Задача о Фальшивых монетах
 Сообщение Добавлено: 13 ноя 2023, 11:16 
Не в сети

Зарегистрирован: 13 янв 2019, 09:04
Сообщений: 594
Здравствуйте, Алексей Владимирович!
Спасибо за найденную ошибку! Да, по условию задачи нельзя спрашивать вес монет, количество которых больше N.
Вы прекрасно исправили эту ошибку в своей программе, заменив S-1 на min(S-1, N). Теперь вроде бы ошибок нет.
Вы пишите про какие-то тесты, а где их можно пройти?
Я написал свою программу тестирования вашей программы, многократно её запускал, пока никаких ошибок она не нашла. Конечно, она тестирует случайными числами, что хуже, чем специальный подбор чисел под определённые нюансы, выявленные на основе качественного анализа задачи, но всё-таки.
Подробности:

Вложение:
задача о фальшивых монетах.docx [88.84 KIB]
Скачиваний: 591


Вернуться наверх 
 Заголовок сообщения: Re: Задача о Фальшивых монетах
 Сообщение Добавлено: 13 ноя 2023, 11:56 
Не в сети
Аватар пользователя

Зарегистрирован: 18 ноя 2015, 07:49
Сообщений: 2290
Откуда: Ставрополь
SergeiB писал(а):
Вы прекрасно исправили эту ошибку в своей программе, заменив S-1 на min(S-1, N).


Это Rimdalf нашёл.

SergeiB писал(а):
Теперь вроде бы ошибок нет.


Да, вроде нет, но в то же время 47-й тест не проходит.

SergeiB писал(а):
Вы пишите про какие-то тесты, а где их можно пройти?


Эта задача отсюда:
https://acmp.ru/asp/do/index.asp?main=t ... oblem=1840

Тут надо зарегистрироваться и ввести код программы. Если код написан правильно, система засчитывает задачу как решённую. Но вот с этой задачей как раз 47-й тест не проходит. Посмотреть, какие числа в этом тесте, к сожалению, нельзя. Вот я и не понимаю, в чём проблема.

SergeiB писал(а):
Я написал свою программу тестирования вашей программы, многократно её запускал, пока никаких ошибок она не нашла. Конечно, она тестирует случайными числами, что хуже, чем специальный подбор чисел под определённые нюансы, выявленные на основе качественного анализа задачи, но всё-таки.


Спасибо большое!

И огромное спасибо за решение!!!


Вернуться наверх 
 Заголовок сообщения: Re: Задача о Фальшивых монетах
 Сообщение Добавлено: 13 ноя 2023, 12:45 
Не в сети

Зарегистрирован: 13 янв 2019, 09:04
Сообщений: 594
Алексей Владимирович, большое спасибо за сайт!
Когда будет время тоже здесь что-нибудь порешаю.


Вернуться наверх 
Показать сообщения за:  Сортировать по:  
 
 Страница 1 из 2 [ Сообщений: 15 ] На страницу 1, 2  След.





Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

 
 

 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: