Telegram Web Link
#task_105

Здорово, что задачи по комбинаторике многие из вас усвоили! Молодцы!

P.S. Это была последняя задача на баллы в текущем сезоне. На след.неделе мы подведем итоги, поздравим наших призеров и немного отдохнем🥇🥈🥉
Также сегодня вас ждет задачка вне конкурса, она несложная, но не упустите возможность поиграться с оптимизацией 😜

http://telegra.ph/Task-105-1-Kvartalnye-ocenki-06-28
#announcement #task_106

А у нас очередная задача вне конкурса! Знаю, что нектр из вас порой сталкиваются с трудностями при решении задач, но наберитесь терпения!
Алгоритмика начинается не с алгоритма Дейкстры или метода трапеций, она начинается с простой математики.
Попробуйте решить эту задачу, и если у вас возникнут вопросы, спрашивайте ребят в нашем уютненьком чатике @unilecs_chat или, если стесняетесь, пишите мне в лс @albert_davletov.
Буду рад помочь каждому!

🎓 Задача 106: Частичная сумма
Дан массив чисел arr = a1, a2, ..., an. Есть набор индексов (k, r).
Необходимо вычислить частичную сумму в массиве:
S(k, r) = a(k) + a(k+1) + a(k+2) + ... + a(r).

Входные данные: arr - массив действительных чисел, размер массива от 1 до 10^6.
indexArr = (k1, r1), (k2, r2), ... - массив индексов (k, r). Размер массива indexArr от 1 до 10^6. Индексы ki, ri - натуральные числа от 1 до 10^6 и ki <= ri.

Вывод: вывести значения частичных сумм S(ki, ri) для заданного набора индексов.

Пример: arr = 1, 2, 3, 4, 5; indexArr = (1, 5), (2, 3), (3, 4)
Answer: 15 5 7
🥇🥈🥉

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

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

3-й сезон значителен для меня ещё и потому, что мы наконец добрались до красивой цифры - 10 000 подписчиков. Я не гонюсь за количеством, для меня важнее качество, но тем не менее это круто - видеть, что 10 тысяч человек, так или иначе связанных с IT, активно или пассивно участвуют в жизни канала @UniLecs. Спасибо вам, ребят!

Ну и наконец, ставший доброй традицией, рейтинг подписчиков канала @UniLecs. Гонка разыгралась нешуточная, отставание минимальное, каждая задача была решающей! Наши победители - те, для кого алгоритмические задачи - это не вопросы с интервью, а настоящее увлечение.
#unilecs_books #основы

📚 Многие ребята спрашивали моего совета по выбору книг по алгоритмам и программированию. По просьбам подписчиков мы запускаем новый цикл статей с подборками книг - UniLecs.Books. Для вашего удобства мы разобьем их по темам, уровню подготовки и языкам программирования.

Первая подборка - книги для начинающих и для тех, кто хочет улучшить свои навыки.

http://telegra.ph/UniLecsBooks-OsnovyCHast1-07-06
Мы начинаем 4й сезон на нашем канале!

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

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

График:
- Анонсы : Вторник / Пятница
- Разбор : Понедельник / Четверг

Для наших новых подписчиков: если у вас есть интересное решение для задачи из Анонса, присылайте сюда: @albert_davletov.

Формат:
- ссылка на gist файл (gist.github.com)
- опционально, но желательно: ссылка на play test. Например, можно оформить на repl.it, jsfiddle и т.д.
- код должен быть понятным, оптимальным, должен быть набор тестов, ктр использовались для проверки решения.
- комментарии к коду или небольшое предисловие к задаче: описать ход ваших мыслей/подходов и т.д.

P.S. Если ваше решение пройдет все тесты и будет в достаточной мере нетривиальным, то оно появится в посте-подборке с решениями от подписчиков. В конце сезона (конец сентября) мы подведем итоги, рейтинг самых активных подписчиков мы опубликуем на канале, а лучшие из вас получат призы, почет и уважение 😜
​​#announcement #task_107

Задача вне конкурса!

🎓 Задача 107: Основы графов (решение будет в четверг)
Дана матрица размерности NxN, ктр состоит из нулей и единиц. Необходимо определить является ли она матрицей смежности простого неориентированного графа.

Входные данные: arr - матрица размерности NxN, состоящая из нулей и единиц. N от 1 до 1000.

Вывод: True - если матрица arr является матрицей смежности простого неориентированного графа. False - в противном случае.

Пример: arr = { {0, 1}, {1, 0} }
Answer = True
​​#announcement #task_108

Первая задача на баллы, поехали 😜
Ждем ваших решений!

🎓 Задача 108: Теория множеств (решение будет в понедельник)
Дано множество, состоящее из N элементов, его элементы - все числа от 1 до N включительно. Необходимо определить кол-во всевозможных подмножеств заданного множества, а также вывести все эти подмножества (пустое множество можно не выводить).

Входные данные: N - натуральное число от 1 до 10. Элементы заданного множества - натуральные числа от 1 до N.

Вывод: кол-во всевозможных подмножеств, а также все эти подмножества, кроме пустого.

Пример: N = 2; Кол-во: 4;
Подмножества: { 1, 2, 12 } (пустое множество не выводим)
#announcement #task_109 #junior

Задача вне конкурса!

🎓 Задача 109: Медиана и среднее арифметическое (решение будет в четверг)
Даны два целых числа a, b. Необходимо найти наименьшее возможное целое число c, такое, что среднее арифметическое и медиана для a, b, c были одинаковы.
Медиана для трех чисел - среднее число для случая, когда числа отсортированы по убыванию.

Входные данные: a, b - целые числа от 1 до 10^6, а также a меньше b.

Вывод: c - наименьшее возможное целое число, что среднее и медиана для a, b, c одинаковы.

Пример:
a = 1, b = 2
Answer: c = 0
​​#announcement #task_110

🎓 Задача 110: Будни браконьера (решение будет в понедельник)
В диком заповеднике находятся редкие животные, всего N животных всех видов. Браконьеру нужно подстрелить не менее K животных, чтобы прокормить свою семью. Для каждого животного браконьер знает вероятность того, что он его подстрелит. Необходимо помочь браконьеру посчитать вероятность успеха охоты.

Входные данные: arr = (animal, probability) - массив ктр хранит пары: животное -> вероятность его подстрелить. K - минимальное кол-во животных, ктр необходимо подстрелить браконьеру.

Вывод: вероятность, что охота для браконьера окажется успешной.

Пример:
K = 2; arr = { "медведь", 0.5 }, { "тигр", 0.5 }, { "лев", 0.5 }
Answer = 0.5 (или 50%)
#task_110

Этот пост я посвящаю человеку, ктр прекрасно владеет 8ю языками программирования:
Python, C++, C, Delphi, PHP, JavaScript, Visual Basic и Assembler
@jinxonik - ты мега крут !

P.S. Однако мы берем качеством, а не кол-вом, поэтому различные подходы/алгоритмы в решении задач я буду оценивать намного выше, нежели кол-во вариантов различных языков программирования!

http://telegra.ph/UniLecs-110-1-Budni-brakonera-07-24
​​#announcement #task_111 #junior

Задача вне конкурса

🎓 Задача 111: Финал (решение будет в четверг)
В ваш город на финал футбольного кубка приехало N болельщиков ФК Реал Мадрид и M болельщиков ФК Барселона. В вашем городе всего 1 отель, и номера в нем только по K мест каждый. Необходимо определить кол-во номеров, ктр нужны для размещения всех болельщиков, разумеется, крайне нежелательно селить в один номер болельщиков разных клубов.

Входные данные: N, M, K - натуральные числа от 1 до 10000

Вывод: кол-во требуемых номеров в отеле для размещения всех болельщиков

Условие: использовать переменные только целого типа, запрещается использовать функции округления из коробки языка

Пример:
N = 7, M = 12, K = 3
Answer = 7
​​#announcement #task_112

🎓 Задача 112: Совещание (решение будет в понедельник)
Начинается совещание за круглым столом. Собралось N человек. Как им одновременно пожать руки друг другу так, чтобы руки никаких людей не пересекались. Вам необходимо вычислить кол-во вариантов, ктр они могут это сделать.

Входные данные: N - четное натуральное число от 2 до 100.

Вывод: кол-во способов, ктр они могут пожать друг другу руки.

Пример:
N = 4
Answer = 2
2024/10/05 07:27:49
Back to Top
HTML Embed Code: