---> 63 задач <---
Страница: << 7 8 9 10 11 12 13 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

На досуге вы любите почитать сборники занимательных задач по математике. Недавно вы наткнулись в одном из таких сборников на следующую задачу:

Есть бесконечный резервуар с водой и два пустых сосуда объёмом 5 и 12 литров. Можно наливать воду из резервуара в любой сосуд до его заполнения, переливать воду из —одного сосуда в другой до заполнения второго или опустошения первого (смотря что будет раньше) и выливать воду из сосуда на землю до полного опустошения сосуда. Как таким образом можно отмерить 3 литра?

Вы решили написать программу, которая будет решать подобные задачи для произвольных объёмов сосудов.

Входные данные

Во входном файле находятся три целых числа — \(V_1\), \(V_2\) и \(V\) — объёмы двух сосудов и объем воды, который нужно отмерить. Гарантируется, что \(1\leq V_1,V_2\leq 32767\) и \(0\leq V\leq \max(V_1,V_2)\).

Выходные данные

В первую строку выходного файла выведите одно число — количество действий в вашем решении. Далее выведите соответствующее количество строк, описывающих действия в вашем решении. Для каждого действия выведите два числа:

  • если это действие — переливание из одного сосуда в другой, то первое число должно быть номером сосуда, откуда надо переливать воду, а второе — номером сосуда, куда переливать;
  • если это действие — набор воды из резервуара, то первое число должно быть нулём, а второе  — номером сосуда, куда наливать;
  • если это действие — выливание воды “на землю”, то первое число должно быть номером сосуда, а второе — нулём.

После выполнения всех операций хотя бы в одном сосуде должна находиться вода в объёме \(V\).

Если существует несколько решений, то вы можете вывести любое. Ваше решение не обязано быть оптимальным, единственное ограничение — размер выходного файла не должен превосходить 3 Мб.

Если решений не существует, выведите одно число -1.

Примеры
Входные данные
5 12 3
Выходные данные
10
0 1
1 2
2 1
1 2
0 1
1 0
0 1
1 2
0 1
1 2
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

В городе N строят метро. Вася, житель города N, хочет знать, сколько станций окажутся недалеко от его дома. Помогите ему.

Город N отличается очень строгой планировкой улиц: каждая улица идёт либо строго с юга на север, либо строго с востока на запад; при этом расстояние между соседними параллельными улицами одинаково. Соответственно, в городе есть много перекрёстков, расположенных в вершинах квадратной сетки. По планам, первая линия метро будет прямой и будет иметь станции на каждом перекрёстке, через который она пройдёт. Вася считает, что станция находится недалеко от его дома, если расстояние по прямой от его дома до станции не превосходит некоторой фиксированной величины \(R\).

Входные данные

Введём систему координат с осью \(x\), направленной с востока на запад, и осью \(y\), направленной с юга на север, с началом координат на одном из перекрёстков и с единицей длины, равной расстоянию между соседними параллельными улицами. Таким образом, улицы будут прямыми с уравнениями ..., \(x=-2\), \(x=-1\), \(x=0\), \(x=1\), \(x=2\), ..., а также ..., \(y=-2\), \(y=-1\), \(y=0\), \(y=1\), \(y=2\), ...

Во первой строке входного файла находятся целые числа \(x_0\), \(y_0\) — координаты Васиного дома (считаем, что он находится на некотором перекрёстке), — и расстояние \(R\) в тех же единицах измерения, в которых введены координаты. Во второй строке находятся четыре числа \(x_1\), \(y_1\), \(x_2\), \(y_2\) — координаты некоторых двух различных перекрёстков, через которые пройдёт линия метро. Все координаты во входном файле не превосходят \(100\,000\,000\) по модулю; расстояние \(R\) целое, положительное и не превосходит \(100\,000\,000\).

Можете считать, что линия метро будет бесконечной в обоих направлениях.

Выходные данные

В выходной файл выведите одно число — количество станций, расположенных недалеко от Васиного дома.

Примечание

Первый пример соответствует рисунку; на рисунке дом Васи и станции метро обозначены жирными точками.

Примеры
Входные данные
2 2 3
0 -1 1 1

Выходные данные
2

Входные данные
0 0 1
-5 0 -3 0

Выходные данные
3

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Рассмотрим два числа \(a\) и \(b\). По ним можно однозначно определить такое целое \(k\), что \(\) b^k\leq a< b^{k+1}; \(\) это \(k\) мы будем называть целой частью логарифма \(a\) по основанию \(b\).

Напишите программу, которая будет вычислять целую часть логарифма.

Входные данные

В первой строке входного файла записано одно целое число \(a\) (\(1\leq a \leq 10^{100}\)) без ведущих нулей. Во второй строке входного файла записано целое число \(b\) (\(2\leq b\leq 100\)).

Выходные данные

В выходной файл выведите одно число — целую часть логарифма \(a\) по основанию \(b\) без ведущих нулей.

Примеры
Входные данные
12345678987654321
3

Выходные данные
33

Входные данные
8
2

Выходные данные
3

Входные данные
2
5

Выходные данные
0

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Мальчик Влад недавно побывал в Японии и привёз оттуда новую жевательную резинку. Вернувшись в университет после поездки, на первой же паре Влад раздал жвачку всем своим \((N-1)\) однокурсникам и взял одну себе. Дождавшись момента, когда лектор отвернулся к доске, на счёт “три-четыре” все \(N\) студентов дружно начали надувать пузыри. Известно, что \(i\)-й студент надувает пузырь до максимально возможного размера за время \(t_i\), после чего пузырь мгновенно лопается, и студент начинает надувать пузырь заново с той же скоростью.

Всё это время преподаватель настолько увлечён тонкостями квантового математического анализа, что не слышит ничего происходящего в аудитории. И только когда все \(N\) пузырей лопнут одновременно, преподаватель услышит шум и обернётся. И уж тогда студентам достанется, а больше всех тому, кто принёс на пару \(N\) жевательных резинок.

Определите, сколько времени студенты смогут наслаждаться надуванием пузырей, не замечаемые преподавателем.

Например, если \(N=2\), \(t_1=2\), \(t_2=3\), то будет происходить следующее:

Первый студент надувает пузырь с момента времени \(t=0\) до момента времени \(t=2\), потом пузырь лопается, и он надувает пузырь заново — с момента времени \(t=2\) до момента времени \(t=4\), а потом ещё раз — с момента времени \(t=4\) до \(t=6\).

Второй студент надувает пузырь с \(t=0\) до \(t=3\) и ещё раз с \(t=3\) до \(t=6\).

В момент \(t=6\) пузыри лопаются одновременно у обоих студентов, преподаватель оборачивается и говорит: “Всё, Влад! Ты меня достал!”.

Входные данные

На первой строке входного файла находится одно целое число \(N\) — количество студентов (\(1\leq N \leq 10\,000\)). Следующие \(N\) строк содержат по одному целому числу \(t_1\), \(t_2\), ..., \(t_N\). Гарантируется, что \(1\leq t_i \leq 1000\).

Выходные данные

Выведите в выходной файл одно число — время, в течение которого студенты во главе с Владом могут наслаждаться безнаказанным надуванием пузырей.

Примеры
Входные данные
2
2
3
Выходные данные
6

Входные данные
1
1
Выходные данные
1

Входные данные
2
16
1
Выходные данные
16

Входные данные
3
627
182
85
Выходные данные
9699690

ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Завод по производству Крым-колы изготавливает ее не только для магазинов, но и для всемирно известной сети ресторанов быстрого питания.

Ежедневно завод отгружает один и тот же объем колы в литрах. Служба доставки сети ресторанов обычно использует для транспортировки колы емкости объемом или только 50 литров, или только 70 литров. Если доставка осуществляется с помощью емкостей в 50 литров, то для перевозки имеющегося объема колы необходимо A емкостей. А если с помощью емкостей в 70 литров, то необходимо B емкостей. При этом в каждом из случаев одна из емкостей может быть заполнена не полностью.

Недавно сеть ресторанов решила утвердить новый объем емкостей для доставки колы — 60 литров. Сколько емкостей теперь может понадобиться для доставки того же самого объема колы?

Входные данные

Входные данные содержат 2 числа A и B, расположенных каждое в отдельной строке (1 ≤ A, B ≤ 10 000 000).

Выходные данные

Выведите все возможные значения для количества емкостей по 60 литров, которые окажутся заполненными (в том числе одна возможно частично), в порядке возрастания или число  - 1, если значения A и B противоречат друг другу, то есть они были записаны неверно.

Примеры тестов

Входные данные
3
2
Выходные данные
2 3
Входные данные
1
2
Выходные данные
-1

Примечание

В первом примере колы могло быть, например, 115 литров, в этом случае понадобится две емкости в 60 литров, а могло быть — 135 литров, в этом случае понадобятся уже три емкости по 60 литров. Четыре емкости не могут понадобиться никогда.

Online-группа тестов оценивается в 60 баллов, в этой группе 1 ≤ A, B ≤ 1 000.

Offline-группа тестов оценивается в 40 баллов.


Страница: << 7 8 9 10 11 12 13 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест