Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 30, 2009 17:02:47

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

Какие удобные примеры. Правда, не все решены верно.

N=18, M=3, result = 18/(3+1)=4
Первый шаг - 9 съели других 9 - осталось 9
Второй шаг - 4 съели 4-х, один остался голодным - сталось 4 (съели по 2)+1(съел только 1-го) =5
Третий - 2 сьели 2-х и насытились. Один таки остался голодным.
Ответ = 2 (наибольшее количество окуней которое может насытиться) а не 4-ре.

Офлайн

#2 Июнь 30, 2009 17:27:48

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

Вывод: нужно более четкое описание задачи.



Офлайн

#3 Июнь 30, 2009 18:53:51

FILLIPO
От:
Зарегистрирован: 2009-05-03
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

pasaranax
Вывод: нужно более четкое описание задачи.
Каюсь. Даже исходный текст задачи ясности не вносит. (текст из PDF документа - исходника)
Задача полностью:
Задача C. Голодные окуни

Имя входного файла: fish.in
Имя выходного файла: fish.out
Ограничение по времени: 1 секунда
Ограничение по памяти: 64 мегабайта

В пруд запустили N голодных окуней, которые стали постепен-
но поедать друг друга. Окунь считается сытым, если он съел M
окуней (сытых или голодных). Какое наибольшее количество
окуней может насытиться?

Формат входного файла
В первой строке записаны два натуральных числа N иM. Каж-
дое из чисел не превосходит 1000.

Формат выходного файла
Выведите одно неотрицательное целое число количество на-
сытившихся окуней.

Примеры
fish.in fish.out
2 1 1
11 3 3
В любом случае, свое решение считаю верным.
Всем большое спасибо.
:)



Офлайн

#4 Июль 6, 2009 22:44:55

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

покажи код последнего решения

Офлайн

#5 Июль 7, 2009 07:35:25

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

FILLIPO
Даже исходный текст задачи ясности не вносит.
но кое-что прояснилось, в результате ответ = (N-1)/M
сравни со своими результатами

Офлайн

#6 Июль 7, 2009 11:07:27

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

o7412369815963
Ответ снова не верный.

N=18, M=3, result = (18-1)/3 == 5.6

А должно быть 2.
Попробуйте нарисовать график.

Офлайн

#7 Июль 7, 2009 11:43:44

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

Ferroman
Ответ снова не верный
вы не правильно поняли задачу.
посчитайте по вашему сколько будет N = 11, M = 3
по моей формуле = (11-1)/3 = 3
ЗЫ: / - деление нацело ( например как в С++ деление целых числел ), к этому не придирайтесь

Офлайн

#8 Июль 7, 2009 14:45:03

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

А как это вы считаете? Как по-вашему надо понимать задачу?

1 заход. Из 11 окуней 5-ро съело ещё 5. Осталось 6 (1 голодный)
2 заход. Из 6 окуней 3 съело 3 других (будем считать, что 1-го голодного съели). Осталось 3 окуня, которые съели по 2.
3 заход (последний) Из 3 окуней 1 съедает другого. Итог - 1 сытый, - 1 голодный (съел только 2-х)
Ответ - 1

Вообще-то ответ очень простой и считается математической формулой, которую легко получить из итераций. Если интересно - напишу как.

Отредактировано (Июль 7, 2009 14:45:15)

Офлайн

#9 Июль 7, 2009 21:37:51

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

Ferroman
Ответ - 1
этим вы подтвердили то, что ваше решение не верное.
см. семплы из задачи:
FILLIPO
Примеры
fish.in fish.out
2 1 1
11 3 3

Офлайн

#10 Июль 8, 2009 13:14:03

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

"Голодные Окуни" или Помогите добить задачку!

Я выходил из того, что за единицу времени каждый окунь съедает другого (по возможности). Что вкладывали создатели задачи в слова “постепенно поедают друг друга” мне не известно. Если разговор о том сколько вообще окуней может насытится (без учёта времени), то решение не просто тривиально - оно примитивно.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version