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

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

Добрый день, уважаемые друзья! Глядя на нижеследующие ссылки (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 1114. Символьные узоры на ткани

Задача Напишите программу для нанесения узоров на ткань в виде символов. В нечетных строках узора символы идут подряд, а в четных – разделены пробелом. Входные данные В единой строке входного файла задано сначала символ узора S, затем через пробелы [latex]3[/latex] натуральных числа: ширина узора [latex]w[/latex] [latex](w < 80)[/latex], его высота [latex]h[/latex] [latex](h <= 40)[/latex] и … Continue reading

e-olymp 8651. Браслети (Bangles)

Задача Шпигунам-конкурентам вдалося потрапити на склад запасних частин фірми «Magic & Stupidity», яка виготовляла магічні браслети. Стало зрозуміло, що всі браслети складалися з чотирьох різних деталей, кожна з яких мала на кінцях замки різних типів (розрізнялися за номерами). Вони з’єднувалися по колу, причому у сусідніх частин замки повинні мати однаковий номер. Знайшлося $N$ різних типів … Continue reading

e-olymp 518. Сумма двух

Задача Найти сумму двух чисел. Входные данные Первая строка содержит количество тестов [latex]t (1\leq t\leq 100)[/latex]. Каждый тест состоит из двух целых чисел [latex]a[/latex] и [latex]b[/latex]. Выходные данные Для каждого теста вывести в отдельной строке сумму чисел [latex]a[/latex] и [latex]b[/latex]. Тесты № Ввод Вывод 1 3 2 3 17 -18 5 6 5 -1 11 … Continue reading

e-olymp 1501. Конусное расстояние

Задача Конус расположен в трехмерном пространстве так, что его основание радиуса [latex] r [/latex] лежит в плоскости [latex] z = 0 [/latex] с центром в [latex] (0,0,0) [/latex]. Вершина конуса расположена в [latex] (0, 0, h) [/latex]. На его поверхности заданы две точки в конусных координатах. Конусной координатой точки называется пара чисел [latex] (d, A) … Continue reading

e-olymp 8570. Длина слов

e-olymp 8570. Длина слов

Задача. Длина слов Задан текст — последовательность слов. Найдите длину каждого слова. Входные данные Текст содержит последовательность слов. Длина каждого слова не более $20$. Выходные данные Для каждого слова в одной строке выведите его длину. Тесты № Ввод Вывод 1 Programming Principles 1 11 10 1 2 I like C very much 1 4 1 … Continue reading

e-olymp 8525. Четные отрицательные в матрице

e-olymp 8525. Четные отрицательные в матрице

Задача. Четные отрицательные в матрице Задана матрица размера $n \times n$. Найдите количество и сумму ее четных отрицательных элементов. Входные данные Первая строка содержит число $n \left(1 \leq n \leq 100\right)$. Следующие строки содержат матрицу $n \times n$. Элементы матрицы по модулю не больше $100$. Выходные данные Выведите в одной строке количество и сумму четных отрицательных чисел в матрице. Тесты № … Continue reading

e-olymp 8530. Печать матрицы

e-olymp 8530. Печать матрицы

Задача Условие Задана матрица $n \cdot n$ — назовем ее $[1..n] \cdot [1..n]$ массивом. Для заданных $r$ и $c$ следует вывести $[1..r] \cdot [1..c]$ массив ($r$ строк и $c$ столбцов исходного массива). Входные данные Первая строка содержит число $n (1 \leq n \leq 100)$. Следующие строки содержат матрицу $n \cdot n$. Последняя строка содержит два … Continue reading

e-olymp 8571. Подсчитать буквы

Задача Задана строка s и буква c. Сколько раз буква встречается в строке? Входные данные Первая строка содержит строку s с не более чем $100$ символами. Вторая строка содержит прописную букву латинского алфавита c. Выходные данные Выведите сколько раз буква c встречается в строке s. Одна и та же заглавная и прописная буква считаются одинаковыми. То есть «a» и «A» считаются одинаковыми буквами. Тесты Programming … Continue reading

e-olymp 4844. Поиск общей подстроки

Задача взята с сайта e-olymp. Задача Дана строка [latex] A = [/latex] [latex] a_1a_2…a_n  [/latex] и строка [latex] B = [/latex] [latex] b_1b_2…b_m  [/latex]. Также дано число [latex] L [/latex]. Нужно узнать, есть ли у строк [latex] A [/latex] и [latex] B [/latex] общая подстрока длиной [latex] L [/latex]. Входные данные В первых двух строках записаны строки [latex]A[/latex] … Continue reading

e-olymp 910. Среднее арифметическое положительных

e-olymp 910. Среднее арифметическое положительных

Задача Задана последовательность вещественных чисел. Найти среднее арифметическое положительных чисел. Входные данные В первой строке задано количество чисел $n$ ($0 < n ≤ 100$). В следующей строке заданы $n$ действительных чисел, значения которых не превосходят по модулю $100$. Выходные данные Вывести среднее арифметическое положительных чисел с двумя десятичными знаками. В случае отсутствия положительных чисел вывести сообщение … Continue reading

e-olymp 1488. Шахматная головоломка

e-olymp 1488. Шахматная головоломка

Задача Борис очень любит различные шахматные головоломки. У него есть младший брат Вова. Борис очень любит задавать простые головоломки Вове, а в награду, если тот их решит, давать ему конфету. Но Вова, к сожалению, не очень любит шахматы, зато любит программирование. В этот раз Борис задал Вове следующую головоломку: на шахматном поле размером $8 × 8$ … Continue reading

E-Olymp 8377.  Стойкое число

E-Olymp 8377. Стойкое число

Задача По числу $x$ определим $p(x)$ как произведение его цифр. Рассмотрим последовательность $x$, $p(x)$, $p(p(x))$… Стойкостью $x$ назовем индекс (начиная с $0$) первого однозначного числа в этой последовательности. Например, из $99$ получим последовательность $99$, $9 · 9 = 81$, $8 ·  1 = 8$. Стойкость числа $99$ равна $2$. По заданному числу $n$ определите его … Continue reading

e-olymp 7261. Трудный путь

e-olymp 7261. Трудный путь

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

e-olymp 971. Задача Иосифа Флавия

e-olymp 971. Задача Иосифа Флавия

Задача Иосифа Флавия Существует легенда, что Иосиф Флавий — известный историк первого века — выжил и стал известным благодаря математической одаренности. В ходе иудейской войны он в составе отряда из $41$ иудейского воина был загнан римлянами в пещеру. Предпочитая самоубийство плену, воины решили выстроиться в круг и последовательно убивать каждого третьего из живых до тех … Continue reading

e-olymp 6264. Энергетический магнат

e-olymp 6264. Энергетический магнат

Задача Маленький Вася играет в новую компьютерную игру — пошаговую стратегию «Энергетический магнат». Правила игры достаточно просты: Доска содержит [latex]n[/latex] слотов, расположенных в линию. Имеется набор электростанций, каждая из которых занимает один или два слота подряд, и производит одну единицу энергии. Каждый ход игры позволяет построить одну новую электростанцию, ее можно расположить на доске в … Continue reading

e-olymp 1463. На перекрёстке

e-olymp 1463. На перекрёстке

Задача Дано таблицу [latex] n \times n [/latex]. Возбуждённостью строки или столбца назовём сумму чисел в нём. Необходимо определить число, находящееся на перекрёстке наиболее возбуждённой строки и наименее возбуждённого столбца. Причём, чем выше будет этот перекрёсток (а среди них левее), тем большей будет вероятность прохождения теста. Входные данные Первая строка входного файла содержит число [latex]n … Continue reading

e-olymp 1485. Серия степеней матриц

e-olymp 1485. Серия степеней матриц

Задача По заданной матрице A размера n×n и положительному целому значению $k$ вычислить сумму $S = A + A^2+ A^3 + … + A^k.$ Входные данные Первая строка содержит три положительных целых числа $n (n ≤ 30)$, $k (k ≤ 10^9)$ и $m (m < 10^4)$. Каждая из следующих $n$ строк содержит $n$ неотрицательных целых чисел меньших $32768$, задающих элементы матрицы $A$ в порядке возрастания строк. Выходные данные Вывести элементы матрицы $S$ по модулю $m$ в таком же виде как … Continue reading

e-olymp 919. Номер на 3

e-olymp 919. Номер на 3

Задача Условие Задана последовательность действительных чисел $a_{1}$, $a_{2}$,…, $a_{n}$. Определить сумму и количество положительных элементов, индексы которых делятся на $3$ без остатка. Входные данные В первой строке задано количество элементов $n$ ($n \leq 100$) в последовательности. В следующей строке находится $n$ вещественных чисел, значение каждого из которых по модулю не превышает $100$. Выходные данные В … Continue reading

e-olymp 7504. Три прямоугольника

e-olymp 7504. Три прямоугольника

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

e-olymp 927. Количество игрушек

e-olymp 927. Количество игрушек

Задача Задано количество видов игрушек в магазине, количество игрушек каждого вида и стоимость игрушки каждого вида. Определить количество игрушек, стоимость которых меньше $50$ грн. Входные данные В первой строке задано количество наличных в прейскуранте видов игрушек $n$ $(0 ≤ n ≤ 1000)$. В следующих $n$ строках задано по $2$ числа через пробел: сначала количество игрушек $a$ … Continue reading