Муниципальный этап ВсОШ по информатике, 9-11 классы, Пермский край, 2024
Statement is not available in English language
A. Квадратный фрактал
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Квадратным фракталом $$$0$$$-го уровня назовем квадрат со стороной $$$a$$$.

Чтобы получить квадратный фрактал первого уровня, нужно каждую сторону квадрата разделить на $$$3$$$ равные части, и на центральном фрагменте построить маленький квадрат со стороной, равной длине этого центрального фрагмента, расположив его на внешней стороне исходного квадрата.

Внутренние линии после построения удаляются. Каждый новый фрактал — это замкнутая непересекающаяся ломаная.

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

По заданному $$$N$$$ и длине стороны $$$а$$$, вычислите периметр и площадь квадратного фрактала $$$N$$$-го уровня.

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

В первой строке вводится целое число $$$N$$$ — номер уровня искомого фрактала $$$(0 \le N \le 500)$$$.

Во второй строке вводится целое число $$$a$$$ — длина стороны фрактала $$$0$$$-го уровня $$$(1 \le a \le 1\,000\,000)$$$.

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

В первой строке выведите периметр фрактала $$$N$$$-го уровня.

Во второй строке выведите площадь фрактала $$$N$$$-го уровня.

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

Система оценки

Для каждой подгруппы баллы начисляются только в случае прохождения всех тестов в ней самой и во всех необходимых подгруппах.

ПодгруппаДополнительные ограниченияБаллыНеобходимые подгруппы
$$$0$$$Тест из условия$$$0$$$—
$$$1$$$$$$N, a \le 10$$$$$$10$$$$$$0$$$
$$$2$$$$$$N \le 10$$$$$$20$$$$$$0,\ 1$$$
$$$3$$$$$$N \le 100$$$$$$30$$$$$$0$$$ – $$$2$$$
$$$4$$$—$$$40$$$$$$0$$$ – $$$3$$$
Примеры
Входные данные
0
100
Выходные данные
400
10000
Входные данные
1
300
Выходные данные
2000.0
130000.0
Входные данные
2
100
Выходные данные
933.3333333333333
15925.925925925927
Входные данные
3
27
Выходные данные
324.0
1197.0

Statement is not available in English language
B. Сила мысли
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Магистр-джедай Йода способен передвигать предметы силой мысли. Его сила мысли измеряется в интеллах. Чтобы сдвинуть, например, камень массой $$$3$$$ кг на $$$5$$$ метров, ему нужно потратить $$$3 \times 5=15$$$ интеллов силы.

В начальный момент времени все камни находятся по одну сторону от воображаемой прямой линии $$$L$$$, причём каждый камень располагается на заданном целом расстоянии от этой линии (некоторые камни могут даже лежать на $$$L$$$, т.е. находиться на расстоянии $$$0$$$ от неё). Йода хочет добиться максимального результата, используя имеющуюся у него силу. Он хочет так отодвинуть камни на целое число метров от прямой $$$L$$$, чтобы после сдвига ближайший к $$$L$$$ камень оказался как можно дальше от неё.

Требуется выяснить, на каком максимальном расстоянии от линии $$$L$$$ может оказаться ближайший к ней камень после сдвига, если Йода обладает силой заданной величины?

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

В первой строке записаны два числа $$$N$$$ и $$$F$$$ — число камней и величина силы в интеллах $$$(1 \le N \le 10^5,1 \le F \le 10^{15})$$$.

В последующих $$$N$$$ строках записаны через пробел по два целых числа $$$m_i$$$ и $$$d_i$$$ — масса $$$i$$$-го камня и расстояние от него до линии $$$L$$$ $$$(1 \le m_i \le 10^3, 0 \le d_i \le 10^5)$$$.

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

Выведите одно целое неотрицательное число — искомое максимальное расстояние от линии $$$L$$$ до ближайшего к ней камня после сдвига.

Система оценки

Для каждой подгруппы баллы начисляются только в случае прохождения всех тестов в ней самой и во всех необходимых подгруппах.

ПодгруппаДополнительные ограниченияБаллыНеобходимые подгруппы
$$$0$$$Тест из условия$$$0$$$—
$$$1$$$$$$N \le 10,\ F \le 20$$$$$$15$$$$$$0$$$
$$$2$$$$$$N \le 10$$$$$$20$$$$$$0,\ 1$$$
$$$3$$$$$$N \le 10^4$$$$$$25$$$$$$0$$$ – $$$2$$$
$$$4$$$—$$$40$$$$$$0$$$ – $$$3$$$
Пример
Входные данные
4 25
3 2
2 0
5 2
1 1
Выходные данные
3
Примечание

В примере у Йоды есть $$$25$$$ интеллов силы. Он может, например, сдвинуть камень массой $$$3$$$ кг на 2 метра, камень массой $$$2$$$ кг на $$$5$$$ метров, камень массой $$$5$$$ кг на $$$1$$$ метр, камень массой $$$1$$$ кг на $$$4$$$ метра.

В итоге ближе всего к линии $$$L$$$ окажется камень массой 5 кг. Он будет находиться от неё на расстоянии $$$3$$$ метра. Возможны и другие варианты сдвигов, но в любом случае после сдвига ближайший к линии $$$L$$$ камень будет находиться не дальше, чем в $$$3$$$ метрах от неё.

Statement is not available in English language
C. Минимум такси
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Если предстоит пройти без отдыха не более $$$D$$$ километров, Незнайка идет пешком, а иначе — берёт такси.

В свой день рождения Незнайка решил навестить всех своих друзей. Но самое главное — он хочет минимизировать число своих поездок на такси!

Чтобы добиться этого, ему, возможно, придётся неоднократно заходить к кому-то из друзей, чтобы отдохнуть, и, возможно, также для отдыха неоднократно возвращаться к себе домой. После захода в любой дом Незнайка отдыхает, поэтому когда после этого он выходит на улицу, у него достаточно сил, чтобы пройти ещё $$$D$$$ километров.

Известно, что некоторые пары домов связаны двухсторонними дорогами, для каждой из которых известна её протяженность. Ходить пешком и ездить на такси можно только по этим дорогам. От любого дома можно добраться по дорогам до любого другого.

Любая поездка Незнайки на такси начинается и заканчивается возле одного из домов. Посещение друга возможно только после окончания поездки.

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

Требуется выяснить, какое минимальное количество поездок на такси может сделать Незнайка и при этом навестить всех своих друзей, если начать свой путь и закончить его Незнайка должен у себя дома?

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

В первой строке вводятся три целых числа $$$N$$$, $$$M$$$ и $$$D$$$, где $$$N$$$ — количество друзей у Незнайки $$$(1 \le N \le 10^5)$$$, $$$M$$$ — это количество дорог между домами $$$(N \le M \le \min(N\cdot(N+1)\ /\ 2,\ 2\cdot10^5))$$$, а $$$D$$$ — это максимальное расстояние, которое Незнайка готов пройти пешком без отдыха $$$(1 \le D \le 1\,000)$$$.

Далее идут $$$M$$$ строк, содержащих по три целых числа $$$h_1$$$, $$$h_2$$$ и $$$d_{h_1h_2}$$$, где $$$h_1$$$ и $$$h_2$$$ — номера домов, соединённых двухсторонней дорогой, $$$(1 \le h_1,\ h_2 \le N + 1,\ h_1 \neq h_2)$$$, а $$$d_{h_1h_2}$$$ — длина этой дороги $$$(1 \le d_{h_1h_2} \le 1\,000)$$$. Гарантируется, что между каждой парой домов существует не более одной дороги и что от любого дома можно добраться по дорогам до любого другого.

Незнайка живёт в доме с номером $$$1$$$.

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

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

Система оценки

Для каждой подгруппы баллы начисляются только в случае прохождения всех тестов в ней самой и во всех необходимых подгруппах.

ПодгруппаДополнительные ограниченияБаллыНеобходимые подзадачи
$$$0$$$Тесты из условия$$$0$$$—
$$$1$$$$$$N \le 100$$$$$$50$$$0
$$$2$$$—$$$50$$$0, 1
Примеры
Входные данные
2 3 5
1 2 4
1 3 3
2 3 6
Выходные данные
0
Входные данные
6 8 3
1 2 3
1 3 2
2 3 1
4 5 1
4 6 2
5 6 3
1 7 7
4 7 9
Выходные данные
3
Примечание

Пояснение к примеру 1: один из возможных маршрутов без поездок на такси $$$1 \rightarrow 2 \rightarrow 1 \rightarrow 3 \rightarrow 1$$$.

Пояснение к примеру 2: один из возможных маршрутов с минимальным числом поездок на такси $$$1 \rightarrow 2 \rightarrow 3 \rightarrow 1 \rightarrow 7 \rightarrow (4) \rightarrow 5 \rightarrow 6 \rightarrow 4 \rightarrow (7) \rightarrow 1$$$. В скобках указаны номера домов, мимо которых он проехал, пока передвигался на такси. Три поездки на такси: $$$1 \rightarrow 7$$$, $$$7 \rightarrow (4) \rightarrow 5$$$ и $$$4 \rightarrow (7) \rightarrow 1$$$.

Statement is not available in English language
D. Кошмар перфекциониста
ограничение по времени на тест
1.05 секунд
ограничение по памяти на тест
31 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Васе и Пете на новогоднем утреннике подарили много одинаковых круглых конфет. После окончания праздника братья принесли сладости домой и решили их поделить. Пока Вася мыл руки, Петя решил посчитать конфеты, а для этого выложил их все без остатка на стол в виде, как ему показалось, идеального прямоугольника $$$w \times h_1$$$.

После того, как Вася вернулся, настала Петина очередь идти мыть руки. В это время Вася решил подшутить над братом и переложил сладости: он убрал из каждого горизонтального ряда последние $$$K$$$ конфет и образовал из них новые ряды так, что получился прямоугольник $$$(w - K) \times h_2$$$.

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

Петя зашёл в комнату и увидел неидеальный прямоугольник. Переполненный эмоциями, Петя подошёл к столу и разбросал лежащие на нём конфеты по всей комнате, а затем ушёл к себе.

Васю замучила совесть за неудачную шутку, поэтому он решил извиниться перед братом, восстановив исходный прямоугольник. Собирая разбросанные по полу конфеты, он насчитал $$$N$$$ штук. Однако за время сбора конфет он забыл число $$$w$$$.

Помогите Пете по общему количеству конфет $$$N$$$ и количеству перекладываемых из каждого ряда конфет $$$K$$$ найти все возможные значения длины ряда до перекладывания $$$w$$$.

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

В первой строке вводится единственное целое число $$$t$$$ ($$$1 \le t \le 10$$$) — количество тестов.

Для каждого теста в единственной строке вводится два целых числа $$$N_i$$$ и $$$K_i$$$ ($$$1 \le N_i \le 10^{18}$$$, $$$1 \le K_i \le 10$$$) — общее количество конфет и количество конфет, которое Вася переложил из каждого ряда.

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

Для каждого теста выведите по две строки.

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

Во второй строке выведите все подходящие значения $$$w$$$ в порядке возрастания.

Система оценки

Для каждой подгруппы баллы начисляются только в случае прохождения всех тестов в ней самой и во всех необходимых подгруппах.

ПодгруппаДополнительные ограниченияБаллыНеобходимые подгруппы
$$$0$$$Тест из условия$$$0$$$—
$$$1$$$$$$N \le 4\cdot10^6$$$$$$30$$$$$$0$$$
$$$2$$$$$$N \le 2\cdot10^{13}$$$$$$30$$$$$$0,\ 1$$$
$$$3$$$$$$k = 1$$$$$$20$$$$$$0$$$
$$$4$$$—$$$20$$$$$$0$$$ – $$$3$$$
Пример
Входные данные
2
12 1
99 8
Выходные данные
3
2 3 4
2
9 11

Statement is not available in English language
E. Нашествие орды
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На далёком континенте в бескрайней степи жило племя Морьтонов. Они пасли лошадей, овец, а также совершали набеги на соседние племена. После очередного набега хан Удирдагч рассматривал награбленное, когда на его глаза неожиданно попался необычный свиток. Он рассказывал о далекой стране Леку-Десирагаррия, лежащей на другом конце континента и обладающей несметными богатствами. Вдохновившись этими историями, военачальник решил отправиться в завоевательный поход.

Континент можно представить в виде прямоугольника, разбитого на равные квадратные ячейки. Ставка хана располагается в клетке $$$(0, M)$$$, а Леку-Десирагаррия — в клетке $$$(N, 0)$$$. Координаты задаются в виде (<номер строки>, <номер столбца>). Строки нумеруются сверху вниз, а столбцы слева направо.

Удирдагч хочет послать как можно больше отрядов. При этом, чтобы они не перебили друг друга, каждый из них должен идти уникальным маршрутом, то есть для любых двух отрядов должна быть хотя бы одна ячейка, в которой остановился переночевать первый отряд, но не останавливался второй.

Каждый отряд за время дневного перехода может переместиться двумя способами: на $$$A$$$ клеток влево и на $$$B$$$ клеток вниз, либо на $$$A$$$ клеток вниз и $$$B$$$ клеток влево. Клетка считается посещённой, только если в ней отряд останавливается на ночёвку.

Естественно, вождю потребовалось узнать, какое наибольшее количество отрядов могут добраться до Леку-Десирагаррии.

Продумывая маршруты, военачальник открыл нарисованную на свитке карту континента и увидел на ней $$$Q$$$ городов, которые было бы неплохо по пути ограбить. Поэтому для каждого города из списка ему необходимо знать, сколько отрядов пройдут через содержащую этот город ячейку, а затем доберутся до конечной точки маршрута по описанным выше правилам. На основе этой информации он самостоятельно примет решение о том, стоит ли нападать на город или лучше просто переночевать недалеко от него.

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

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

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

В первой строке вводятся четыре целых числа $$$N$$$, $$$M$$$, $$$A$$$ и $$$B$$$ ($$$1 \le N, M \le 10^8$$$, $$$0 \le B \lt A \le \max(N, M)$$$) — размеры континента и описание перехода отрядов хана.

Во второй строке вводится целое число $$$C$$$ ($$$C \in \{0, 1\}$$$) — количество ячеек, которые хан хочет избегать. Если $$$C = 1$$$, то в этой же строке также вводятся два целых числа $$$r_c$$$, $$$c_c$$$ ($$$0 \le r_c \le N,\ 0 \le c_c \le M$$$) — координаты ячейки, содержащей город Дэлхийн-Тов.

В третьей строке вводится единственное целое число $$$Q$$$ ($$$1 \le Q \le 10^5$$$) — количество промежуточных городов, интересующих хана.

В последующих $$$Q$$$ строках вводятся по два целых числа $$$r_i$$$, $$$c_i$$$ ($$$0 \le r_i \le N,\ 0 \le c_i \le M$$$) — координаты ячейки, содержащей $$$i$$$-й город из списка.

Гарантируется, что от ставки хана до Леку-Десирагаррии можно добраться за не более чем $$$5\cdot 10^6$$$ дней.

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

В первой строке выведите единственное число — количество различных путей из ячейки $$$(0, M)$$$ в ячейку $$$(N, 0)$$$ с учётом возможного запрета на остановку в ячейке $$$(r_c, c_c)$$$.

В последующих $$$Q$$$ строках выведите по одному числу: в $$$i$$$-й строке выведите количество различных путей, проходящих через ячейку $$$(r_i, c_i)$$$ с учётом возможного запрета на остановку в ячейке $$$(r_c, c_c)$$$.

Выведите все ответы по модулю $$$10^9 + 9$$$.

Система оценки

Баллы за каждую подгруппу начисляются только в случае прохождения всех тестов этой подгруппы и всех тестов всех необходимых подгрупп.

ПодгруппаДополнительные ограниченияБаллыНеобходимые подгруппы
$$$N,\ M$$$$$$A,\ B$$$$$$C$$$$$$Q$$$
$$$0$$$Тесты из условия$$$0$$$—
$$$1$$$$$$N, M \le 100$$$—$$$C = 0$$$$$$Q = 0$$$$$$6$$$$$$0$$$
$$$2$$$$$$N, M \le 100$$$—$$$C = 0$$$$$$Q \le 100$$$$$$6$$$$$$0, 1$$$
$$$3$$$$$$N, M \le 100$$$—$$$C = 1$$$$$$Q \le 100$$$$$$10$$$$$$0$$$ – $$$2$$$
$$$4$$$$$$N, M \le 10^4$$$$$$A, B \le 100$$$$$$C = 0$$$$$$Q \le 10^4$$$$$$6$$$$$$0$$$ – $$$2$$$
$$$5$$$$$$N, M \le 10^4$$$$$$A, B \le 100$$$$$$C = 1$$$$$$Q \le 10^4$$$$$$7$$$$$$0$$$ – $$$4$$$
$$$6$$$—$$$A = 1, B = 0$$$$$$C = 0$$$—$$$10$$$$$$0$$$
$$$7$$$—$$$A = 1, B = 0$$$$$$C = 1$$$—$$$5$$$$$$0, 6$$$
$$$8$$$—$$$A = 2, B = 1$$$$$$C = 0$$$—$$$10$$$$$$0$$$
$$$9$$$—$$$A = 2, B = 1$$$$$$C = 1$$$—$$$5$$$$$$0, 8$$$
$$$10$$$——$$$C = 0$$$—$$$12$$$$$$0, 1, 2, 4, 6, 8$$$
$$$11$$$——$$$C = 1$$$$$$Q = 0$$$$$$8$$$$$$0, 1$$$
$$$12$$$——$$$C = 1$$$—$$$15$$$$$$0$$$ – $$$11$$$
Пример
Входные данные
8 10 2 1
1 2 9
10
2 9
2 6
1 8
7 2
0 10
4 5
1 6
8 0
4 2
8 3
Выходные данные
10
0
6
10
6
10
6
0
10
1
0