Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ломаем мозг
Форумы Дома Индорил > Клуб > Таверна
GunPewPew
В пяти вазочках лежат конфеты. Если во всех вазочках лежит разное количество конфет, то Андрей добавляет четыре конфеты в вазочку, в которой меньше всего конфет. Объясните, почему в некоторый момент в каких-то двух вазочках все же окажется поровну конфет.
Яшперица
дык кушаит О_О
Severyn
Видимо, из-за того, что любое натуральное число при делении на 4 дает в остатке либо 0, либо 1, либо 2, либо 3. :-) Пятого не дано.

Теперь смотрим: ваз пять. В каждой из них число конфет, поделенное на 4, дает в остатке либо 0, либо 1, либо 2, либо 3. Соответственно, по крайней мере в двух вазах этот остаток одинаковый. Тогда если к меньшей вазе N раз подсыпать по 4 конфеты, число конфет уравняется.
Скимоха
рано или поздно все мы там будем - это ответ wink.gif
Скимоха
Severyn, а разве условием задачи было перекладывание конфет? wink.gif
Severyn
У меня ничего про перекладывание нет. У меня про добавление в одну из ваз N порций по 4 конфеты, как и в условии.
Скимоха
Цитата(Severyn @ Sep 29 2008, 17:46) *
У меня ничего про перекладывание нет. У меня про добавление в одну из ваз N порций по 4 конфеты, как и в условии.

Я так считаю, когда у тебя скорость 80, а другого 60, то если нажать на газ то всегда догонишь и в какой, то момент машины сравняются.
Severyn
Ммм... разницу между непрерывностью и дискретностью знаешь?
Представь, что у тебя при нажатии на газ скорость увеличивается на 3 км/ч, а на тормоз - уменьшается на 3 км/ч. Никогда ты не сравняешь скорости 80 и 60 в таких условиях. Потому что между ними разница 20, а шагом в 3 ты ее никогда не наберешь. Либо 18, либо 21.
Точно так же с конфетами. Если в одной вазе 1 конфета, во второй - 2 конфеты и ты можешь добавлять только по 4 конфеты за раз, никогда у тебя в 2 вазах не будет одинакового количества конфет.
GunPewPew
Капризная ладья бьет либо только по вертикали, либо, наоборот только по горизонтали, зато умеет бить сквозь фигуры. Мальчик ставит ладей по одной на шахматную доску. Как только капризную ладью ставят на доску, она сообщает мальчику, будет она бить только по вертикали, либо, наоборот только по горизонтали. Мальчик хочет добиться того, чтобы поставленные ладьи били все свободные клетки. Каким наименьшим кол-вом ладей он сможет обойтись, как бы не вели себя ладьи?
Severyn
Алгоритм расстановки:
1) первую ладью ставим в левый верхний угол;
2) каждую последующую ладью ставим справа от предыдущей, если предыдущая бьет по вертикали, или снизу от предыдущей, если предыдущая бьет по горизонтали.

В лучшем случае для покрытия доски по этому алгоритму потребуется 8 ладей, в худшем - 15. Таким образом, 15 ладей достаточно для покрытия всей доски, как бы ни вели себя ладьи.
Mardil
Курить меньше надо, вот и не будут ладьи разговаривать...
Тем не менее, ответ - 15. Доказывается это так.
Рассмотрим все клетки, находящиеся не под ударом. В начале, когда ладей еще нет, они образуют прямоугольник 8х8. После каждого хода это множество либо не меняется, либо от него отрезается вертикаль или горизонталь - таким образом, оно снова образует прямоугольник. При этом, если перед ходом прямоугольник был MxN, то после хода он, если меняется, становится либо Mx(N-1), либо (M-1)xN. Таким образом, сумма его сторон либо не меняется, либо уменьшается на 1.
Если это умный мальчик, то он не будет ставить ладью на уже "ударенную" клетку - иначе подлая ладья тут же захватит уже захваченную линию и мальчик потеряет ход зря. Поэтому в оптимальном варианте сумма сторон уменьшится на 1 и, значит, после хода номер n она будет равна 16-n.
При этом мальчику надо добиться того, чтобы одна из сторон прямоугольника была равна 0 - тогда это будет на самом деле пустое множество, что и требуется.
А при n=15 эта сумма равна 1, то есть прямоугольник может иметь исключительно стороны 0 и 1, что бы коварные ладьи не делали. Легко видеть, что n=14 недостаточно - ладьи могут организовать прямоугольник 1х1 (одну пустую клетку); делается это так - первые 7 ладей захватывают горизонтали, остается одна пустая горизонталь, и следующие 7 ладей захватывают вертикали. Тогда восьмая клетка в этой горизонтали будет неударенной.
Скимоха
4+1 2 3 4 5
5 2 3 4 5

22 17 111 5 13
22 17 111 5+4 13
22 17 111 9+4 13
22 17 111 13 13

34 41 55 70 86
34+4 41 55 70 86
38+4 41 55 70 86
42 41+4 55 70 86
42+4 45 55 70 86
46 45+4 55 70 86
46+4 49 55 70 86
50 49+4 55 70 86
50+4 53 55 70 86
54 53+4 55 70 86
54+4 57 55 70 86
58 57 55+4 70 86
58 57+4 59 70 86
58+4 61 59 70 86
62 61 59+4 70 86
62 61+4 63 70 86
62+4 65 63 70 86
66 65 63+4 70 86
66 65+4 67 70 86
66 +4 69 67 70 86
70 69 67 70 86

Жми на газ и всегда догонишь smile.gif
Ky
Сев, идем по твоему алгоритму. И вот они все бьют по вертикали, 7 штук.
осталась одна вертикаль, и они сволочи все подряд по горизонтали начали.
Получилось 15, как ни крути smile.gif

То есть, куда бы ты ни ставил первые 7 ладей, то если они все бьют по вертикали, останется как минимум одна вертикаль. И если все прочие бьют по горизонтали, то на покрытие одной вертикали надо еще 8.
Ky
Ским, с чем ты споришь-то ?smile.gif

Погляди свои примеры, и ты увидишь, что там где конфеты сравниваются остаток исходного числа от деления на 4 одинаковый. Если остаток разный, не сравняются ну никак smile.gif
В этой задаче Сев совершенно прав smile.gif
Скимоха
Цитата
Ским, с чем ты споришь-то ?
- с педалями smile.gif дык с ответом Севы я согласен, о том и речь, и ответ Севы был правильный на вопрос почему в некоторый момент ? однако есть проблемы с газом wink.gif

Меня все время мучает уже долго один вопрос и если я ответа не получу в ближайшем будущем, то меня упекут в шестую палату. Итак:

Дважды два всегда четыре, но тем не менее два в квадрате это 3, 99999999 - ?
Ky
Компьютер выполняет действия умножения и возведения в степень по разным алгоритмам.
Для возведения в степень используются не целые числа, но числа "с плавающей точкой", представление которых в памяти другое, и которые служат для представления любых (обычно дробных или длинных) чисел с высокой степенью точности.
Поэтому и получается так. Последняя девятка при этом теряется за горизонтом.

Кстати, если у нас имеется 2 числа с плавающей точкой, а и в, то нельзя в программе сравнивать

"если а=в то..."

А надо (иначе в некоторых случаях возможны ошибки)

"если модуль (а-в) меньше 0.000..001"

Точность сравнения зависит от конкретного случая smile.gif
Скимоха
Спасибо smile.gif Хотя все это очень странно.
Elyas
Про ладьи: 8
Каждую ладью ставим в угол прямогольника с небитыми клетками
Ky
Элиас, ты похоже условие не дочитал smile.gif

давай поиграем в игру, где ты будешь ставить, а я капризная ладья smile.gif
Elyas
a1
Elyas
Северин прав
Ky
Цитата(Elyas @ Sep 30 2008, 11:54) *
a1

вертикаль
Podk
4 = 3,999999999(9) и ничего не сделать. dry.gif
Ky
moor.gif
w1nter
осилил. половину не понял. но прочитал 8(
Severyn
Бафнись интой и повтори. smile.gif
Колян Ведьмак
fie.gif swoon.gif shout.gif wacko.gif
Podk
Это кому адресовано?
Ky
Полторы курицы за полтора дня снесут полтора яйца.
Сколько яиц за 2 дня снесут 3 курицы?

Отвечаем просто числом, не приводя пока хода решения smile.gif
Elyas
4
Severyn
Опять задачи на производительность труда? омг, 4 smile.gif
Хронос_
6

Могу доказать)
Ky
Хрон отправляется учиться в 4й класс smile.gif
Хронос_
Да вы что.

Доказательство.

Полторы курицы - это одна живая и половина мертвой. Мертвые курицы не несут яиц. То есть за полтора дня живая курица снесет полтора яйца, одно яйцо в день. А половина мертвой будет лежать рядом и ничего не делать.

Следовательно, три живые курицы за два дня снесут 1*2*3= 6 яиц.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2024 IPS, Inc.