OCPC-2019. Разбор задач

OCPC-2019. Разбор задач

Прочитать условия задач OCPC-2019 и отправить на проверку свое решение можно на acm.pp.ua. Регистрация свободная. A. Ахиллес и черепаха Поскольку Ахиллес бежит быстрее черепахи, но не должен ее обогнать, нас интересует точка, в которой он ее догонит. Для этого вначале найдем время, за которое Ахиллес догонит черепаху: $t =\frac{ x_t — x_a}{v_a — v_t}$. Теперь … Continue reading

Медали для всех, даром, и пусть никто не уйдет обыгранным!

Медали для всех, даром, и пусть никто не уйдет обыгранным!

Добрый день, уважаемые друзья! Глядя на нижеследующие ссылки (2011, 2012, 2013, 2014 — следует нажать ссылочку Standings), многие современники не спрашивают у меня, как прийти к подобным результатам. А зря. К сожалению, сам по себе ритуал еженедельного посещения кружка умелых информационных ручек с опцией прорешивания особо приглянувшихся задач способен перевести Вас лет за 5 из … Continue reading

С чего начать?

С чего начать?

Будем предполагать, что Ваша цель не просто изучить программирование, но и научиться решать задачи. Это означает, что Вы вероятно хотите получить в дальнейшем какую-то пользу от своих новых знаний и навыков, а не просто убиваете время. Сразу должен предупредить, что это потребует во много раз больше усилий, чем простое изучение синтаксиса и лексики С++, урду … Continue reading

Как не нужно решать задачи

Как не нужно решать задачи

Есть довольно подробные рекомендации, как нужно решать задачи по программированию (в т.ч. для студентов). В конце заметки я дам ссылки на одну из таких статей. Но я хотел бы сейчас привести наглядный пример того, как не надо решать задачи. Вот довольно простая задача про разрезание брусочка сыра (точнее прямоугольного параллелепипеда) на кубики со стороной 1. … Continue reading

Дистанционные учебные курсы

Дистанционные учебные курсы

Хочу порекомендовать пройти некоторые дистанционные учебные курсы на сайте Coursera. Чтобы не актуализировать постоянно ссылки и даты буду просто вставлять в начало ссылки. Надеюсь разберетесь на месте. Основы разработки на C++ №1 на русском Основы разработки на C++ №2 на русском Algorithms #1 на английском. Очень хороший и сложный курс. Algorithms #2 на английском. Такой … Continue reading

Образец: Принадлежит ли точка треугольнику?

Образец: Принадлежит ли точка треугольнику?

Задача. Даны три попарно не совпадающие и не лежащие на одной прямой точки [latex]A, B[/latex] и [latex]C[/latex], заданные своими координатами. Определить принадлежит ли точка [latex]D(x_d,y_d)[/latex] треугольнику [latex]ABC[/latex]. Сразу заметим, что задача легко обобщается для любого выпуклого многоугольника. Тесты В тестах нужно обязательно отразить следующие случаи: Точка строго вне треугольника Точка строго внутри треугольника Точка совпадает … Continue reading

e-olymp 8963. Наименьшие влево

e-olymp 8963. Наименьшие влево

Условие Задан массив из [latex]n[/latex] целых чисел. Переместить все минимальные элементы в начало массива, не меняя порядок других. Входные данные В первой строке записано натуральное число [latex]n[/latex]. В следующей строке записаны [latex]n[/latex] целых чисел. Все числа по модулю не превышают [latex]100[/latex]. Выходные данные Выведите элементы обновленного массива. Тесты № Ввод Вывод 1 7 6 -3 … Continue reading

e-olymp 123. Количество нулей у факториала

e-olymp 123. Количество нулей у факториала

Задача Найти количество нулей в конце записи факториала числа $n$. Входные данные Одно число $n$ $(1 \leqslant n \leqslant2\cdot10^9)$ Выходные данные Количество нулей в конце записи $n!$ Тесты № ВХОДНЫЕ ДАННЫЕ ВЫХОДНЫЕ ДАННЫЕ  1 1 0  2 7 1  3 12 2  4 100 24  5 306 75  6 5000 1249 Код

Решение Каждый … Continue reading

e-olymp 8666. Коровий котильон

e-olymp 8666. Коровий котильон

Задача В коровьем котильоне — причудливом танце весны — участвуют коровы (обозначаются $ «\gt»$) и быки (обозначаются $ «\lt»$), они кланяются друг другу во время танца. Схематически обозначим пару кланяющихся животных следующим образом: $ «\gt \lt»$. Иногда вторая пара скота может находиться между кланяющейся парой: $ «\gt \gt \lt \lt»$. Иногда и большее количество коров … Continue reading

Переставить соседние

Переставить соседние

Задача Задан массив из $n$ целых чисел. Переставьте соседние элементы массива ($a_{0}$ с $a_{1}$, $a_{2}$ с $a_{3}$ и так далее). Если элементов нечетное количество, то последний элемент следует оставить на своем месте. Входные данные В первой строке записано число $n$. В следующей строке записано $n$ целых чисел. Все числа по модулю не превышают $100$. Выходные … Continue reading

e-olymp 8916. Первые парные

Первые парные Программа должна ввести с консоли натуральное число [latex] n [/latex] и вывести в порядке возрастания [latex] n [/latex] первых четных натуральных чисел. Входные данные : Натуральное число [latex] n [/latex] . Выходные данные : В одной строке через пробел [latex] n [/latex] первых четных натуральных чисел. Тесты : № Входные данные Выходные данные 1 3 2 4 6 2 8 … Continue reading

e-olymp 7847. Кількість різних елементів

Задача Дано масив з N цілих чисел. Визначте, скільки в цьому масиві різних елементів, Вхідні дані В першому рядку записано число N. В наступному рядку записано N цілих чисел. Всі числа за модулем не перевищують 100. Вихідні дані Кількість різних елементів в масиві. Тести   № Вхідні дані Вихідні дані 1. 7 3 5 -7 7 5 -9 -4 6 2. … Continue reading

e-olymp 8663. Задача про множення

e-olymp 8663. Задача про множення

Задача На уроці математики Байтик навчився множити, і почав застосовувати цю операцію з різними числами. Наприклад, розкладав число на цифри і знаходив добуток цифр. І тут він задумався, який найбільший добуток цифр серед натуральних чисел, що не перевищує [latex]N[/latex]. Допоможіть розв’язати задачу. Вхідні дані Одне число [latex]N(1\leqslant N\leqslant 2\times 10^{9})[/latex]. Вихідні дані Максимальний добуток цифр … Continue reading

e-olymp 4439. Возведение в степень

e-olymp 4439. Возведение в степень

Задача Вычислить значение $a^b$. Входные данные Два натуральных числа $a$ и $b$. Выходные данные Выведите значение $a^b$, если известно что оно не превосходит $10^{18}$. Тесты № ВХОДНЫЕ ДАННЫЕ ВЫХОДНЫЕ ДАННЫЕ  1 1 100 1  2 2 10 1024  3 3 7 2187  4 8 9 134217728  5 10 10 10000000000  6 100 9 1000000000000000000 Код … Continue reading

e-olymp 8674. Игра

e-olymp 8674. Игра

Задача Мурад и Ибрагим играют в следующую игру. Изначально дается число $1$. На своем ходу каждый игрок должен умножить текущее число на одно из целых чисел от $2$ до $9$ включительно. Цель состоит в том, чтобы получить число не меньше заданного целого числа $n$. Игрок, получивший такой номер первым, объявляется победителем. Мурад всегда начинает первым. … Continue reading

e-olymp 2098. Переворачиватель

e-olymp 2098. Переворачиватель

Условие Заданы [latex]n[/latex] чисел. Выведите их в обратном порядке. Входные данные Сначала задано число [latex]n[/latex] ([latex]0 \lt n \lt 100[/latex]), за ним идут [latex]n[/latex] целых чисел. Выходные данные Выведите заданные [latex]n[/latex] чисел в обратном порядке. Тесты № Ввод Вывод 1 7 2 4 1 3 5 3 1 1 3 5 3 1 4 2 … Continue reading

e-olymp 6388. Муха Фон-Неймана

e-olymp 6388. Муха Фон-Неймана

Задача Следующая задача была предложена Джону Фон-Нейману: Два велосипедиста [latex]a[/latex] и [latex]b[/latex] начинают поездку навстречу друг другу в одно и то же время с мест, находящихся на расстоянии [latex]250[/latex] друг от друга, [latex]a[/latex] движется со скоростью [latex]10[/latex] миль в час, [latex]b[/latex] движется со скоростью [latex]15[/latex] миль в час. В это же время муха взлетает с … Continue reading

e-olymp 7934. Коробка для свічок

e-olymp 7934. Коробка для свічок

Умова задачі Маргарита любить свої дні народження. Вона дійсно щаслива, коли задуває свічки під мелодію «Happy Birthday». Кожного року, починаючи з досягнення нею чотирьохрічного віку, вона складає свої свічки з дня народження (по одній за кожен рік віку) в коробку для свічок. Її молодший брат Тео почав робити те ж саме у віці трьох років. … Continue reading

e-olymp 8945. *Рамка 4

e-olymp 8945. *Рамка 4

Условие задачи Для заданных натуральных чисел $n$ и $m$ вывести прямоугольную рамку размером $n \times m$ из звездочек, заполненную пробелами как показано в примере. Входные данные Два натуральных числа $n$ и $m \; (n, m \leqslant 100)$. Выходные данные Выведите прямоугольную рамку размером $n \times m$. Тесты № Входные данные Выходные данные 1 4 7 … Continue reading

e-olymp 9537. Транспонирование матрицы

e-olymp 9537. Транспонирование матрицы

Задача Задана матрица [latex]A[/latex]. Транспонируйте ее. Пусть [latex]B[/latex] — транспонированная матрица [latex]A[/latex]. Пусть [latex]B[/latex] — транспонированная матрица [latex]A[/latex]. Тогда [latex] B_{ij} = A_{ji}[/latex] [latex]\begin{pmatrix} 1&2 \\ 3&4 \\ 5&6 \end{pmatrix}^T = \begin{pmatrix} 1 &3 &5 \\ 2 &4 &6 \end{pmatrix}[/latex] Входные данные Первая строка содержит размеры матрицы [latex]n[/latex] и [latex]m[/latex]. [latex]1 \leq m,n \leq 100 [/latex] Следующие [latex]n[/latex] строк содержат по [latex]m[/latex] целых чисел и описывают матрицу [latex]A[/latex]. Выходные данные Выведите … Continue reading

e-olymp 365. Рамка

e-olymp 365. Рамка

Задача Василий и Петр игрались на уроке. На прямоугольном листке бумаги в клеточку Василий по линях сетки рисует отрезок, параллельный одной из сторон листка, и рамку прямоугольной формы. Он шепчет на ухо Петру координаты концов отрезка и координаты двух противоположных углов рамки, а Петр старается быстро определить длину части отрезка, оказавшуюся внутри рамки. У него … Continue reading

e-olymp 9414. Убить всех термитов

e-olymp 9414. Убить всех термитов

Условие задачи На дереве живут термиты. Ваша задача убить их всех. Дерево является неориентированным связным графом с $n$ вершинами и $n — 1$ ребрами. Чтобы убить термитов, Вам следует отравить некоторые вершины. Если термит попадает на вершину с ядом, то он немедленно умирает. Вы не знаете, где изначально находятся термиты. Но Вы знаете, что термиты … Continue reading

e-olymp 8546. Найдите сумму

e-olymp 8546. Найдите сумму

Задача По заданному натуральному числу $n$ вычислите сумму $\frac{1}{1\cdot2}+\frac{1}{2\cdot3}+ … +\frac{1}{n\cdot(n+1)}$ Входные данные Одно натуральное число $n$ ($n$ $⩽$ $1000$). Выходные данные Выведите сумму с $6$ десятичными знаками. Тесты № Входные данные Выходные данные 1 1 0.500000 2 5 0.833333 3 12 0.923077 Код программы

Решение Для вычисления данной суммы необходимо сложить $n$ слагаемых … Continue reading

e-olymp 7841. Нечетные элементы

e-olymp 7841. Нечетные элементы

Условие Задана последовательность из $n$ целых чисел. Выведите все ее нечетные элементы. Входные данные Первая строка содержит число $n$. Следующая строка содержит $n$ ($n$ $⩽$ $100$)  целых чисел, которые по модулю не превосходят $100$. Выходные данные Вывести все нечетные элементы последовательности в том же порядке как они встречаются на входе. Тесты № Входные данные Выходные данные 1 … Continue reading

e-olymp 1290. Номерной знак

e-olymp 1290. Номерной знак

Задача Международный номерной регистрационный знак легкового автомобиля состоит из $A$ арабских цифр и $B$ больших букв латинского алфавита. Будем считать, что для обеспечения уникальности номера разрешено использовать любую последовательность букв и цифр. Сколько существует различных таких номеров? Входные данные В единственной строке через пробел $2$ неотрицательных целых числа $B$ и $A$. Оба числа не превышают … Continue reading

e-olymp 7849. Обменять max и min

e-olymp 7849. Обменять max и min

Условие задачи Задан массив из $n$ целых чисел. Замените все наибольшие его элементы на наименьший, а наименьшие элементы на наибольший. Входные данные В первой строке записано число $n ( n \leqslant 100 )$. В следующей строке записано $n$ целых чисел, каждое из которых по модулю не превосходит $100$. Выходные данные Вывести обновленный массив. Тесты № … Continue reading