Файл
competitors3.json · 22 КБ · нажмите — покажем
competitors3.json · 22 КБ · нажмите — покажем
Файл
results_RUN.txt · 15 КБ · нажмите — покажем
results_RUN.txt · 15 КБ · нажмите — покажем
Файлы с данными:
competitors3.json - спортсмены с указанием нагрудного номера, имени и фамилии
results_RUN.txt - результаты первой попытки
encoding='utf-8-sig'
Время приходит в формате «нагрудный_номер start ЧЧ:ММ:СС,дст» и «нагрудный_номер finish ЧЧ:ММ:СС,дст».
Что нужно:
вывести списком от меньшего к большему по результату
1. Результат
Занятое место Нагрудный номер Имя Фамилия Результат
1 132 Иван Иванов 01:02,32
2 222 Петр Иванов 01:03,00
3 331 Клим Петров 01:04,10
4 2 Андрей Сидоров 01:05,98
12 · 357 · Пьяный Питон
Фотография
нажмите — покажем
нажмите — покажем
Приглашаем сразиться в дуэли кодеров на осеннем Smart piknik!
Ты умный, дерзкий, знаешь Python как свои пять? Тогда приглашаем тебя на 🐍 Пьяный Питон — дуэль кодеров, где нужно решать задачи на время и за ошибки выполнять штрафные задания.
Принимаешь вызов? Тогда лови ссылку на регистрацию и задание отборочного тура: https://forms.yandex.ru/u/6309c839fb7c530c0eb1a28b/
Внимание❗️ Условия жесткие: 20 минут на раунд, штрафные санкции за ошибки (P.S.: крепкая печень в помощь) и только один победитель, который получит крутой приз!
Условия для участников:
🔸 пройти отборочный тур и получить приглашение на очное участие;
🔸 взять свой компуктер, зарядку и умных друзей, которые тоже в теме;
🔸 быть не школьником, 18 +;
🔸 быть готовым ко всему;)
Стать зрителем и узнать, кто в Академпарке лучший кодер, может любой гость осеннего Smart piknik
Ждем всех 17 сентября⌚️ в 18:00 в холле 1 этажа, Николаева 12, CaVa
9 · 290 · первое задание:
2 · 219 · Ссылка
нажмите — покажем
нажмите — покажем
https://us06web.zoom.us/j/87600689761?pwd=NmlYNjNJT0lmOW9KVVJ3R3NFSGlPQT09
Идентификатор конференции: 876 0068 9761
Код доступа: 388962
3 · 263 · Пин-код
Дана клавиатура со следующей раскладкой:
┌───┬───┬───┐
│ 1 │ 2 │ 3 │
├───┼───┼───┤
│ 4 │ 5 │ 6 │
├───┼───┼───┤
│ 7 │ 8 │ 9 │
└───┼───┼───┘
│ 0 │
└───┘
Ваш секретный агент уже дал вам пин-код. Однако он также сказал, что возможно, что каждая из цифр, может быть другой соседней цифрой (по горизонтали или вертикали, но не по диагонали).
Предположим, секретный агент дал вам код: 46:
# Instead of the 4 it could also be 1, 5, or 7.
# Instead of the 6 it could also be 3, 5, or 9.
crack_pincode("46") ➞
["13","15","16","19","43","45","46","49","53","55","56","59","73","75","76","79"]
Создайте функцию, которая принимает аргумент pincode вашего секретного агента и возвращает список всех возможных вариантов пин-кодов.
Тест:
1. crack_pincode("0") ➞ ["0", "8"]
2. crack_pincode("2") ➞ ["1", "2", "3", "5"]
3. crack_pincode("007") ➞ ["004","007","008","084","087","088","804","807","808","884","887","888"]
9 · 348 · Площадь
Создайте функцию, которая возвращает площадь перекрытия между двумя прямоугольниками. Функция получает два прямоугольника, каждый с координатами нижнего левого угла, шириной и высотой rect = [x, y, width, height].
Примеры:
overlapping_rectangles([ 2, 1, 3, 4 ], [ 3, 2, 2, 5 ]) ➞ 6
overlapping_rectangles([ 2, -9, 11, 5 ], [ 5, -11, 2, 9 ]) ➞ 10
Тест:
overlapping_rectangles([ -8, -7, 4, 7 ], [-5, -9, 4, 7 ])
8 · 405 · Сапер
Создайте функцию num_grid, которая принимает сетку из символов # и -, где каждая решетка (#) представляет собой мину, а каждая черточка (-) представляет собой свободное от мин место. Функция должна возвращать список, в котором каждая черточка заменена цифрой, обозначающей количество мин, непосредственно примыкающих к точке (по горизонтали, вертикали и диагонали).
Примеры:
num_grid ([
["-", "-", "-", "-", "#"],
["-", "-", "-", "-", "-"],
["-", "-", "#", "-", "-"],
["-", "-", "-", "-", "-"],
["#", "-", "-", "-", "-"]
]) ➞ [
["0", "0", "0", "1", "#"],
["0", "1", "1", "2", "1"],
["0", "1", "#", "1", "0"],
["1", "2", "1", "1", "0"],
["#", "1", "0", "0", "0"]
]
Тест:
l = [
["-", "-", "-", "-", "-", "#", "#", "-", "#", "-", "-", "#", "-", "#", "-", "-"],
["-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "#", "#", "#", "#"],
["#", "#", "-", "-", "-", "-", "-", "-", "-", "#", "-", "-", "-", "-", "-", "-"],
["-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"],
["#", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"],
["#", "-", "-", "-", "-", "-", "-", "-", "-", "-", "#", "-", "-", "-", "-", "-"],
["#", "-", "-", "-", "-", "-", "-", "-", "-", "#", "-", "-", "-", "-", "-", "#"],
["-", "#", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "#"],
["-", "-", "-", "#", "#", "-", "-", "-", "#", "-", "-", "-", "-", "-", "-", "#"],
["-", "-", "-", "-", "-", "#", "#", "#", "-", "-", "-", "-", "-", "-", "-", "-"],
["-", "-", "-", "-", "-", "-", "#", "-", "-", "-", "-", "#", "-", "-", "-", "-"],
["-", "-", "-", "-", "-", "-", "-", "-", "-", "#", "-", "-", "-", "-", "-", "-"],
["-", "#", "-", "-", "-", "-", "-", "-", "-", "-", "-", "#", "-", "-", "-", "-"],
["-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "#", "-", "-", "-", "-", "#"],
["#", "-", "-", "-", "#", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"],
["#", "-", "#", "-", "#", "-", "-", "-", "-", "#", "-", "-", "-
9 · 543 · Пьяный Питон
Фотография
нажмите — покажем
нажмите — покажем
🍻🐍 ПЬЯНЫЙ ПИТОН СНОВА В ДЕЛЕ!
И снова наливает... задачки на Python!
Йоу, кодер! Готов расчехлить ноут и порешать задачки быстрее всех? Тогда держи хвост пистолетом и приходи 24 мая в 19:00 в Академпарк (Николаева 12, холл, кафе CAVA) на легендарную дуэль программистов — 🐍 ПЬЯНЫЙ ПИТОН!
Будет всё, как ты любишь:
💥 20 минут на раунд — решай быстро или/и пей!
🍻 Пользуешься читами? Лови штрафняк
🏆 Один выживший — один победитель, и он унесёт с собой огромный приз и вечную славу
Как влиться в эту вакханалию синтаксиса?
🔸 Пройди отбор и получи приглашение 👉 ЖМИ НА ССЫЛКУ
https://forms.yandex.ru/u/6309c839fb7c530c0eb1a28b/
🔸 Принеси свой ноут (желательно трезвый), зарядку и мозг
🔸 Будь 18+, а не школьник
🔸 Подготовься морально, физически и алкоголически
🧐 Не хочешь участвовать — приходи поржать, похлопать и увидеть, как одарённые айтишники пьют и фейлят в прямом эфире!
Smart Picnic будет жарким — не пропусти!
📍 24 мая, 19:00
📍 Академпарк, Николаева 12, холл, кафе CAVA
📍 Пьяный Питон ждёт тебя… уже со стаканом
🐍: “Пиши код — или пей! А лучше делай все вместе и сразу.”
107 · 2.1K · Пьяный Питон
Задача #0: Оптимальная стратегия
Условие задачи:
Два пирата играют в игру, где перед ними выложены монеты (пиастры) в ряд. Во время хода игрок может взять одну монету либо с левого , либо с правого конца ряда. Игроки ходят по очереди, первый — первым. Оба игрока стремятся максимизировать свой выигрыш и при этом минимизировать выигрыш противника . То есть они действуют по оптимальной стратегии .
Задача:
Написать программу, которая определяет:
• Кто победит (первый или второй игрок),
• Какой выигрыш получит победитель,
• Или объявить ничью, если суммы игроков равны.
Ввод:
Первая строка — натуральное число n (количество монет).
Вторая строка — последовательность целых чисел через пробел — достоинства монет.
Вывод:
• Если победил первый игрок: Победил 1-й игрок, сумма выигрыша: X
• Если второй: Победил 2-й игрок, сумма выигрыша: X
• Если ничья: Ничья: игроки выиграли по X
Пример:
Ввод:
3
5 3 7
Вывод:
Победил 1-й игрок, сумма выигрыша: 10
13 · 155 · Задача #1: "Ракета на два места"
Условие:
Перед запуском ракеты нужно выполнить ряд задач, каждая из которых зависит от предыдущих. Представьте это в виде ориентированного графа без циклов и выполните топологическую сортировку.
Ввод:
Сначала перечислены все задачи (каждая с новой строки).
Затем идёт число m — количество зависимостей.
Далее m строк вида A B, означающих, что задача A должна быть выполнена перед B.
Вывод: Нужно пункты плана по порядку, нумерованным списком
Пример:
Ввод
Подготовить двигатель
Залить топливо
Проверить системы
Установить курс
Запустить двигатели
4
Подготовить двигатель Залить топливо
Подготовить двигатель Проверить системы
Залить топливо Запустить двигатели
Проверить системы Запустить двигатели
Вывод:
1. Подготовить двигатель
2. Установить курс
3. Залить топливо
4. Проверить системы
5. Запустить двигатели
10 · 152 · Задача #2: "Незнайка на Луне"
После множества неудачных экспериментов с ракетой Незнайка и его друзья из Цветочного города наконец-то добрались до Луны! Там они обнаружили удивительные лунные тоннели, соединяющие кратеры между собой. Теперь им нужно разобраться, как пройти от одного места к другому, найти все возможные пути, выяснить, кто первый доберётся до главного кристалла, или даже спасти Знайку, который застрял где-то в системе.
Задача: Дан граф, представляющий лунные тоннели. Вершины — кратеры, рёбра — тоннели. Незнайка находится в вершине A, а выход — в вершине B. Нужно определить, существует ли путь от A до B.
Входящая строка:
Первая строка: Количество кратеров (вершин графа) n.
Вторая строка: Список названий кратеров через пробел.
Третья строка: Количество тоннелей (рёбер графа) m.
Следующие m строк: Пары кратеров X Y, означающие, что есть тоннель из X в Y (ориентированное ребро).
Последняя строка: Пара A B — начальный и конечный кратеры.
Вывод:
True/False
Пример
Ввод:
5
A B C D E
4
A B
B C
C D
D E
A E
Вывод:
True
8 · 150 · Задача #3: Сортировка почти отсортированного списка
Условие:
У вас есть список целых чисел, в котором каждое число находится не дальше чем на 2 позиции от своей позиции в отсортированном порядке.
Ваша задача — отсортировать список как можно быстрее, используя знание этого свойства. Нельзя использовать sorted() или list.sort().
Формат ввода:
На вход подаётся одна строка — список целых чисел, разделённых пробелами. Например:
3 1 2 5 4 6
Формат вывода:
Выведите отсортированный список в одну строку, числа через пробел. Например:
1 2 3 4 5 6
Ограничения:
Длина списка: до 10⁶ элементов.
Все числа по модулю ≤ 10⁹.
Время на выполнение: 1 секунда.
Использование sorted() и sort() запрещено (будет проверяться).
6 · 149 · Задача #4: Задача: "Переполох на пикнике"
Ситуация:
На ежегодном фестивале Смарт Пикник устроили необычную инсталляцию: огромное количество контейнеров с едой, вложенных друг в друга, как матрёшки. Контейнеры могут содержать либо:
- еду (целое число),
- другие контейнеры,
- или вообще ничего.
Один из участников — питон по кличке Перельман , который немного переборщил с коктейлями из сыра и теперь ползает по этой пирамиде контейнеров , собирая еду. Но он ползёт строго по определённому алгоритму , ведь он же умный питон !
Задача:
Напишите программу, которая обработает структуру контейнеров (вложенный список) и выполнит несколько операций над ней:
Найти список всех продуктов в порядке их следования , если питон "проползает" через структуру слева направо и вглубь (flat-лист).
Найти минимальную глубину вложенности , где находится целое число.
Определить максимальную глубину вложенности любого элемента.
Найти среднее значение глубин всех чисел с точностью до двух знаков после запятой.
Вычислить баланс вложенности : для каждого уровня подсчитать разницу между количеством списков и чисел.
Формат ввода:
Входной файл содержит один корректный вложенный список , где:
элементы — целые числа или списки,
вложенность не ограничена.
Формат вывода:
Flat-лист всех продуктов (в порядке обхода слева направо и вглубь).
Минимальная глубина, на которой находится число.
Максимальная глубина вложенности любого элемента.
Среднее значение глубин всех чисел (округлить до 2 знаков).
Баланс вложенности для каждого уровня (разница между количеством списков и чисел).
Пример
Ввод:
[[[1], 2], [[[3]], [4, [5]]]]
Вывод:
1. [1, 2, 3, 4, 5]
2. 2
3. 4
4. 3.2
5. {0: 1, 1: 2, 2: 2, 3: 0, 4: -2}
7 · 180 · Фотография
нажмите — покажем
3 · 176 · нажмите — покажем