🎓 Анонс задачи 57: Парковка (решение будет в пятницу)
Дана схема улицы, ктр содержит выезды (Exit - E), остановки (Stop - S) и пешеходные переходы (Crossing - C), остальные участки улицы обозначены на схеме дефисом (-).
Есть несколько правил парковки:
- нельзя парковать машину перед выездом
- нельзя парковать машину на остановке и менее чем в 10 метрах до нее, парковаться после остановки можно.
- нельзя парковать машину на пешеходном переходе и менее чем в 5 метрах до него и после него
Схема улицы разбита на участки длиной в 5 метров, 5 метров - длина парковки для автомобиля.
Написать программу, ктр для каждой схемы улицы выведет кол-во возможных парковочных мест.
Например,
1.
- - -S--C-E--С- -
Вывод: 4
2.
- -С--С--С--С- -
Вывод: 2
Дана схема улицы, ктр содержит выезды (Exit - E), остановки (Stop - S) и пешеходные переходы (Crossing - C), остальные участки улицы обозначены на схеме дефисом (-).
Есть несколько правил парковки:
- нельзя парковать машину перед выездом
- нельзя парковать машину на остановке и менее чем в 10 метрах до нее, парковаться после остановки можно.
- нельзя парковать машину на пешеходном переходе и менее чем в 5 метрах до него и после него
Схема улицы разбита на участки длиной в 5 метров, 5 метров - длина парковки для автомобиля.
Написать программу, ктр для каждой схемы улицы выведет кол-во возможных парковочных мест.
Например,
1.
- - -S--C-E--С- -
Вывод: 4
2.
- -С--С--С--С- -
Вывод: 2
Выкладываю ваши решения 56й задачи: Частичные суммы матрицы!
На этот раз премьера языка F# на нашем канале.
Смотрим и тестим 😜
http://telegra.ph/Task-56-CHastichnye-summy-matr-12-28
На этот раз премьера языка F# на нашем канале.
Смотрим и тестим 😜
http://telegra.ph/Task-56-CHastichnye-summy-matr-12-28
Telegraph
Task 56_1. Частичные суммы матр
Задача: Дана числовая матрица Aij. Для всех i,j найдите частичные суммы: sum(i,j) = SUM(a(k,t)), где k<=i,t<=j Например, 1 2 3 4 5 5 4 3 2 1 2 3 1 5 4 Вывод: 1 3 6 10 15 6 12 18 24 30 8 17 24 35 45 Реализация: @sTheROX снова прислал нам свое решение на языке…
Выкладываю решения 57й задачи ("Парковка") от наших подписчиков. Хочу отдельно отметить @mrmeison и Антона.
Костя (@mrmeison) прислал два варианта решения, одно на JS, второе на Scala.
Антон прислал подробнейший разбор на языке Rust, также есть ссылка на тест.
http://telegra.ph/Task-57-1-Parkovka-12-28
Костя (@mrmeison) прислал два варианта решения, одно на JS, второе на Scala.
Антон прислал подробнейший разбор на языке Rust, также есть ссылка на тест.
http://telegra.ph/Task-57-1-Parkovka-12-28
Telegraph
Task 57_1. Парковка
Задача: дана схема улицы, ктр содержит выезды (Exit - E), остановки (Stop - S) и пешеходные переходы (Crossing - C), остальные участки улицы обозначены на схеме дефисом (-). Есть несколько правил парковки: - нельзя парковать машину перед выездом - нельзя…
🎓 Анонс задачи 58: Формула 1 (решение будет 3 января!)
В Формуле 1 изменились правила. Теперь перед тем, как выехать, команда может выполнить нектр модернизации болида.
Для каждой модернизации известно, на сколько она увеличивает скорость болида, а также время, за ктр она может быть выполнена.
Можно выполнить несколько различных модернизаций, но каждая модернизация может быть выполнена не более одного раза.
Дано расстояние трассы Dist (метры),
Скорость болида без модернизации - V (м/с)
Vi - Массив, i-й элемент массива содержит прирост скорости (м/с) после модернизации болида.
Ti - Массив, i-й элемент массива содержит время (сек) затрачиваемое на i-ю модернизацию из массива Vi
Вывести минимальное время, ктр потребуется пилоту для того, чтобы проехать трассу длиной l с учетом времени на всевозможные модернизации болида.
Например,
Dist = 100
V = 5
Vi = [ 5, 5 ]
Ti = [ 3, 3 ]
Вывод:
12.66
В Формуле 1 изменились правила. Теперь перед тем, как выехать, команда может выполнить нектр модернизации болида.
Для каждой модернизации известно, на сколько она увеличивает скорость болида, а также время, за ктр она может быть выполнена.
Можно выполнить несколько различных модернизаций, но каждая модернизация может быть выполнена не более одного раза.
Дано расстояние трассы Dist (метры),
Скорость болида без модернизации - V (м/с)
Vi - Массив, i-й элемент массива содержит прирост скорости (м/с) после модернизации болида.
Ti - Массив, i-й элемент массива содержит время (сек) затрачиваемое на i-ю модернизацию из массива Vi
Вывести минимальное время, ктр потребуется пилоту для того, чтобы проехать трассу длиной l с учетом времени на всевозможные модернизации болида.
Например,
Dist = 100
V = 5
Vi = [ 5, 5 ]
Ti = [ 3, 3 ]
Вывод:
12.66
В канун Нового года мне хочется поздравить всех вас и в очередной раз поблагодарить за вашу активность!
Вы молодцы, и я верю, что в новом году нас ждёт ещё больше проектов, идей, интересных задач и решений, и не только алгоритмических 😜
И в качестве поощрения для самых активных подписчиков @Unilecs я отметил лучших из лучших, тех, кто был особенно активен и регулярно прокачивал навыки, присылая нам свои решения.
Оставайтесь с нами, в 2018 году будет ещё интереснее! ☃️
Вы молодцы, и я верю, что в новом году нас ждёт ещё больше проектов, идей, интересных задач и решений, и не только алгоритмических 😜
И в качестве поощрения для самых активных подписчиков @Unilecs я отметил лучших из лучших, тех, кто был особенно активен и регулярно прокачивал навыки, присылая нам свои решения.
Оставайтесь с нами, в 2018 году будет ещё интереснее! ☃️
Алгоритмизация - это основа основ в программировании и разработке. Именно поэтому многие IT-компании дают алгоритмические задачки на собеседованиях, так как это единственный способ понять, на что способен программист буквально за полчаса, час.
Я знаю, что наш канал читают и нектр hh-ры, тех лиды и владельцы стартапов. Представляю вам рейтинг самых активных подписчиков канала @UniLecs.
1. @mrmeison (11 решенных задач, языки - JavaScript, Scala)
Костя - наш самый активный подписчик! 11 присланных задач и, судя по качеству кода и сложности решенных задач, он очень крутой разработчик.
2. @yuliok_07 (7 решенных задач, языки - Python)
Среди наших подписчиков не так много девушек и тем почетнее второе место Юли. Юля присылала решения для сложнейших задач по динамическому программированию, к тому же каждое ее решение сопровождалось комментариями и ясным кодом. Молодец!
3. @pakrulin (6 решенных задач, языки - JavaScript, CoffeeScript)
Саше достается 3е место, его стихия - это веб-программирование. Честно сказать, я был очень удивлён, когда увидел его решения на CoffeScript.
4. @lPestl (3 решенные задачи, языки - C++, F#, JS)
Михаил присоединился к нам не так давно, но уже стал одним из активнейших подписчиков. И он единственный, кто присылал мне решения на 3х разных языках! Все его решения отличались подробным разбором задач и масштабируемостью.
5. @fangorn312 (3 решенные задачи, языки - C++ )
@fangorn312 - это крутой олимпиадник! Неудивительно, что использовал он только канонические С++ !
6. @beraliv (3 решенные задачи, языки - JS)
Алексей - один из наших самых первых подписчиков. Все его решения всегда проходили проверку с 1го раза и также отличались очень качественным кодом. Кстати Алексей сам присылал нам интересные задачи.
Я знаю, что наш канал читают и нектр hh-ры, тех лиды и владельцы стартапов. Представляю вам рейтинг самых активных подписчиков канала @UniLecs.
1. @mrmeison (11 решенных задач, языки - JavaScript, Scala)
Костя - наш самый активный подписчик! 11 присланных задач и, судя по качеству кода и сложности решенных задач, он очень крутой разработчик.
2. @yuliok_07 (7 решенных задач, языки - Python)
Среди наших подписчиков не так много девушек и тем почетнее второе место Юли. Юля присылала решения для сложнейших задач по динамическому программированию, к тому же каждое ее решение сопровождалось комментариями и ясным кодом. Молодец!
3. @pakrulin (6 решенных задач, языки - JavaScript, CoffeeScript)
Саше достается 3е место, его стихия - это веб-программирование. Честно сказать, я был очень удивлён, когда увидел его решения на CoffeScript.
4. @lPestl (3 решенные задачи, языки - C++, F#, JS)
Михаил присоединился к нам не так давно, но уже стал одним из активнейших подписчиков. И он единственный, кто присылал мне решения на 3х разных языках! Все его решения отличались подробным разбором задач и масштабируемостью.
5. @fangorn312 (3 решенные задачи, языки - C++ )
@fangorn312 - это крутой олимпиадник! Неудивительно, что использовал он только канонические С++ !
6. @beraliv (3 решенные задачи, языки - JS)
Алексей - один из наших самых первых подписчиков. Все его решения всегда проходили проверку с 1го раза и также отличались очень качественным кодом. Кстати Алексей сам присылал нам интересные задачи.
👍1
Решения от наших подписчиков мы выложим завтра!
А анонс новой задачи в пятницу, новогодние праздники все таки, так что отдохните😁
Еще раз всех с Новым Годом ! ☃️
А анонс новой задачи в пятницу, новогодние праздники все таки, так что отдохните😁
Еще раз всех с Новым Годом ! ☃️
#python #f_sharp #basic
Решение от наших подписчиков.
Не все отдыхают на праздниках 😀
Yeldos Balgabekov прислал нам свою реализацию на Python.
@lPestl снова нас удивляет: решения на F# и на Basic!
Так что смотрим и тестим 😜
http://telegra.ph/Task-58-1-Formula-1-01-03
Решение от наших подписчиков.
Не все отдыхают на праздниках 😀
Yeldos Balgabekov прислал нам свою реализацию на Python.
@lPestl снова нас удивляет: решения на F# и на Basic!
Так что смотрим и тестим 😜
http://telegra.ph/Task-58-1-Formula-1-01-03
Telegraph
Task 58_1. Формула 1
Задача: в формуле 1 изменилиись правила. Теперь перед тем как выехать команда может выполнить нектр модернизации болида. Для каждой модернизации известно на сколько она увеличивает скорость болида, а также время за ктр она может быть выполнена. Можно выполнить…
Начинаем новый год с разминки!
Вот вам задачка уровня junior-a из раздела жадных алгоритмов.
🎓 Анонс задачи 59: Заказы (решение будет в понедельник)
Фирма получила некоторые проекты и разбила их на меньшие независимые заказы с разными стоимостями. Предполагается, что все заказы могут быть выполнены за одну единицу времени. Фирма, имея ограниченное время, должна выяснить, сколько в наилучшем случае, она сможет заработать, принимая более ценные заказы и отклоняя другие.
Дано время t, ктр имеется в распоряжении фирмы и массив, ктр содержит значения стоимости заказов.
Напишите функцию, ктр выведет максимальную заработанную сумму денег, ктр можно получить в пределах доступного времени.
Например,
1. t = 3, Arr = [1, 1, 1, 1, 1];
Вывод: 3
2. t = 4, Arr = [11, 2]
Вывод: 13
3. t = 4, Arr = [8, 2, 9, 17, 4, 4, 10]
Вывод: 44
Вот вам задачка уровня junior-a из раздела жадных алгоритмов.
🎓 Анонс задачи 59: Заказы (решение будет в понедельник)
Фирма получила некоторые проекты и разбила их на меньшие независимые заказы с разными стоимостями. Предполагается, что все заказы могут быть выполнены за одну единицу времени. Фирма, имея ограниченное время, должна выяснить, сколько в наилучшем случае, она сможет заработать, принимая более ценные заказы и отклоняя другие.
Дано время t, ктр имеется в распоряжении фирмы и массив, ктр содержит значения стоимости заказов.
Напишите функцию, ктр выведет максимальную заработанную сумму денег, ктр можно получить в пределах доступного времени.
Например,
1. t = 3, Arr = [1, 1, 1, 1, 1];
Вывод: 3
2. t = 4, Arr = [11, 2]
Вывод: 13
3. t = 4, Arr = [8, 2, 9, 17, 4, 4, 10]
Вывод: 44
#c_sharp #junior
Итак, выкладываю решение 59й задачи!
Ваши варианты решений, мы опубликуем завтра.
http://telegra.ph/Task-59-Zakazy-01-03
Итак, выкладываю решение 59й задачи!
Ваши варианты решений, мы опубликуем завтра.
http://telegra.ph/Task-59-Zakazy-01-03
Telegraph
Task 59. Заказы
Задача: Фирма получила некоторые проекты и разбила их на меньшие независимые заказы с разными стоимостями. Предполагается, что все заказы могут быть выполнены за одну единицу времени. Фирма, имея ограниченное время, должна выяснить, сколько в наилучшем случае…
Задача была довольно простая, поэтому неудивительно, что многие из вас ее решили.
Публикую ваши решения, из новинок реализации на Swift, Kotlin, Java.
Для новичков будет полезно посмотреть решения на различных языках программирования!
http://telegra.ph/Task-59-1-Zakazy-01-07
Публикую ваши решения, из новинок реализации на Swift, Kotlin, Java.
Для новичков будет полезно посмотреть решения на различных языках программирования!
http://telegra.ph/Task-59-1-Zakazy-01-07
Telegraph
Task 59_1. Заказы
Задача: Фирма получила некоторые проекты и разбила их на меньшие независимые заказы с разными стоимостями. Предполагается, что все заказы могут быть выполнены за одну единицу времени. Фирма, имея ограниченное время, должна выяснить, сколько в наилучшем случае…
А мы потихоньку набираем обороты после праздников, задачка из раздела связных списков, поехали !
🎓 Анонс задачи 60: 'Сложение' связных списков (решение будет в четверг)
Два числа хранятся в виде связных списков, в которых каждый узел представляет один разряд.
Все цифры хранятся в обратном порядке, при этом младший разряд (единицы) хранится в начале списка. Размер списков одинаков.
Напишите функцию, которая суммирует два числа и возвращает результат в виде связного списка.
Пример:
(4 -> 5 ->7 ) + (8 -> 2 -> 1), то есть 754 + 128.
Вывод:
2 8 8 (то есть сумма 882)
🎓 Анонс задачи 60: 'Сложение' связных списков (решение будет в четверг)
Два числа хранятся в виде связных списков, в которых каждый узел представляет один разряд.
Все цифры хранятся в обратном порядке, при этом младший разряд (единицы) хранится в начале списка. Размер списков одинаков.
Напишите функцию, которая суммирует два числа и возвращает результат в виде связного списка.
Пример:
(4 -> 5 ->7 ) + (8 -> 2 -> 1), то есть 754 + 128.
Вывод:
2 8 8 (то есть сумма 882)
#js #linked_list
Итак, кидаю решение задачи 60: "Сложение" связных списков.
P.S.
Ребя, ваши решения к 60й задачке мы выложим завтра.
Также завтра будет новый Анонс, задачка на работу с графами 🎓
http://telegra.ph/Task-60-Slozhenie-svyaznyh-spiskov-01-08
Итак, кидаю решение задачи 60: "Сложение" связных списков.
P.S.
Ребя, ваши решения к 60й задачке мы выложим завтра.
Также завтра будет новый Анонс, задачка на работу с графами 🎓
http://telegra.ph/Task-60-Slozhenie-svyaznyh-spiskov-01-08
Telegraph
Task 60. "Сложение" связных списков
Задача: два числа хранятся в виде связных списков, в которых каждый узел представляет один разряд. Все цифры хранятся в обратном порядке, при этом младший разряд (единицы) хранится в начале списка. Размер списков одинаков. Напишите функцию, которая суммирует…
Ребят, огромное спасибо за присланные решения к 60й задаче, их было так много, что мы не успели все проверить. Поэтому опубликуем их на выходных!
А пока анонс следующей задачи!
🎓 Анонс задачи 61: Дорожные службы (решение будет в понедельник)
Дорожным службам нужно обработать дороги антигололедным реагентом. В каждом районе только одна машина, она должна ночью обьехать все дороги этого района. Машина выезжает из гаража и должна туда же вернуться.
- Машина может обрабатывать тольку одну проезжую полосу дороги за один проезд. Все дороги прямые и с одной полосой в каждом направлении.
- Машина может поворачивать на любом перекрестке в любую сторону, также может развернуться.
- Машина при обработке едет со скоростью 20 км/час, в обычном режиме - 50 км/час.
- Возможность проехать все дороги всегда существует.
Необходимо выяснить какое минимальное время нужно машине, чтобы обработать все проезжие полосы всех дорог в своем раойне и вернуться обратно в гараж.
Входные данные:
Даны координаты гаража (начальной точки) - x, y.
Массив, каждый элемент ктр это координаты начала и конца дороги.
Напишите функцию, ктр вернет значение минимального времени (в минутах, округлите до целого), необходимое для обработки всех дорог и возврата обратно.
Пример:
x = 0, y = 0,
Arr = [
{ start: { x = 0, y = 0 }, end: { x = 10000, y = 10000 }},
{ start: { x = 5000, y = -10000 }, end: { x = 5000, y = 10000 }},
{ start: { x = 5000, y = 10000 }, end: { x = 10000, y = 10000 }}
]
Вывод: ~235 минут
А пока анонс следующей задачи!
🎓 Анонс задачи 61: Дорожные службы (решение будет в понедельник)
Дорожным службам нужно обработать дороги антигололедным реагентом. В каждом районе только одна машина, она должна ночью обьехать все дороги этого района. Машина выезжает из гаража и должна туда же вернуться.
- Машина может обрабатывать тольку одну проезжую полосу дороги за один проезд. Все дороги прямые и с одной полосой в каждом направлении.
- Машина может поворачивать на любом перекрестке в любую сторону, также может развернуться.
- Машина при обработке едет со скоростью 20 км/час, в обычном режиме - 50 км/час.
- Возможность проехать все дороги всегда существует.
Необходимо выяснить какое минимальное время нужно машине, чтобы обработать все проезжие полосы всех дорог в своем раойне и вернуться обратно в гараж.
Входные данные:
Даны координаты гаража (начальной точки) - x, y.
Массив, каждый элемент ктр это координаты начала и конца дороги.
Напишите функцию, ктр вернет значение минимального времени (в минутах, округлите до целого), необходимое для обработки всех дорог и возврата обратно.
Пример:
x = 0, y = 0,
Arr = [
{ start: { x = 0, y = 0 }, end: { x = 10000, y = 10000 }},
{ start: { x = 5000, y = -10000 }, end: { x = 5000, y = 10000 }},
{ start: { x = 5000, y = 10000 }, end: { x = 10000, y = 10000 }}
]
Вывод: ~235 минут
Выкладываю ваши решения к 60й задаче.
Многие не совсем верно поняли, что в задаче нужно было работать именно со связными списками. Нектр работали с массивами, нектр с обычным списком.
Будьте внимательны!
http://telegra.ph/Task-60-1-Slozhenie-svyaznyh-spiskov-01-13
Многие не совсем верно поняли, что в задаче нужно было работать именно со связными списками. Нектр работали с массивами, нектр с обычным списком.
Будьте внимательны!
http://telegra.ph/Task-60-1-Slozhenie-svyaznyh-spiskov-01-13
Telegraph
Task 60_1. "Сложение" связных списков
Задача: два числа хранятся в виде связных списков, в которых каждый узел представляет один разряд. Все цифры хранятся в обратном порядке, при этом младший разряд (единицы) хранится в начале списка. Размер списков одинаков. Напишите функцию, которая суммирует…
#c_sharp #graph
Итак, кидаю решение 61й задачи: Дорожные службы.
P.S. пользовательские решения опубликуем завтра.
Также завтра ждите анонс новой задачи!
http://telegra.ph/Task-61-Dorozhnaya-sluzhba-01-11
Итак, кидаю решение 61й задачи: Дорожные службы.
P.S. пользовательские решения опубликуем завтра.
Также завтра ждите анонс новой задачи!
http://telegra.ph/Task-61-Dorozhnaya-sluzhba-01-11
Telegraph
Task 61. Дорожная служба
Задача: дорожным службам нужно обработать дороги антигололедным реагентом. В каждом районе только одна машина, она должна ночью обьехать все дороги этого района. Машина выезжает из гаража и должна туда же вернуться. - Машина может обрабатывать тольку одну…
Варианты решений 61й задачи от наших подписчиков!
http://telegra.ph/Task-61-1-Dorozhnaya-sluzhba-01-15
http://telegra.ph/Task-61-1-Dorozhnaya-sluzhba-01-15
Telegraph
Task 61_1. Дорожная служба
Задача: дорожным службам нужно обработать дороги антигололедным реагентом. В каждом районе только одна машина, она должна ночью обьехать все дороги этого района. Машина выезжает из гаража и должна туда же вернуться. - Машина может обрабатывать тольку одну…
🎓 Анонс задачи 62: Подарки (решение будет в четверг)
Детям на новый год раздавали пакеты с подарками, в каждый пакет раскладывали апельсины.
Сначала разложили апельсины по m штук в каждый пакет, но не получилось, на один из пакетов пришелся m-1 апельсин. Когда попробовали положить по m-1 апельсина, то осталось m-2.
Попробовали разложить по m-2 апельсина, осталось m-3.
Попробовали положить по 2 апельсина, остался 1.
Нужно выяснить какое кол-во апельсинов было изначально.
Входные данные:
m - кол-во апельсинов (1 < m <= 1000), ктр изначально планировали разложить по подаркам.
Вывод:
наименьшее возможное кол-во апельсинов, ктр были изначально.
Пример:
m - 4
Вывод: 11.
Детям на новый год раздавали пакеты с подарками, в каждый пакет раскладывали апельсины.
Сначала разложили апельсины по m штук в каждый пакет, но не получилось, на один из пакетов пришелся m-1 апельсин. Когда попробовали положить по m-1 апельсина, то осталось m-2.
Попробовали разложить по m-2 апельсина, осталось m-3.
Попробовали положить по 2 апельсина, остался 1.
Нужно выяснить какое кол-во апельсинов было изначально.
Входные данные:
m - кол-во апельсинов (1 < m <= 1000), ктр изначально планировали разложить по подаркам.
Вывод:
наименьшее возможное кол-во апельсинов, ктр были изначально.
Пример:
m - 4
Вывод: 11.