Задача ловкость рук python

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Lev1sDev/algorithms

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

1. Ближайший ноль (empty_houses).

Условие: дана улица (массив нулей и номеров домов), где нули — пустые дома. Необходимо обозначить цифры расстоянием до нуля
Формат ввода: В первой строке дана длина улицы — n (1 ≤ n ≤ 10^6). В следующей строке записаны n целых неотрицательных чисел — номера домов и обозначения пустых участков на карте (нули). Гарантируется, что в последовательности есть хотя бы один ноль. Номера домов (положительные числа) уникальны и не превосходят 10^9.
Формат вывода: Для каждого из участков выведите расстояние до ближайшего нуля. Числа выводите в одну строку, разделяя их пробелами.

Условие: ловкость рук, на ввод подается количесвто пальцев одной руки и матрица клавиш. Необходимо пальцами двух рук нажать на максимальное количество одинаковых цифр.
Формат ввода: В первой строке дано целое число k, 1 ≤ k ≤ 5. В четырёх следующих строках задан вид тренажёра — по 4 символа в каждой строке. Каждый символ — ### либо точка, либо цифра от 1 до 9.
Формат вывода: Выведите единственное число — максимальное количество баллов, которое смогут набрать два человека

Условие: дано выражение, записанное в обратной польской нотации, необходимо вычислить выражение (реализация стеком, возврат его вершины).
Формат ввода: В единственной строке дано выражение, записанное в обратной польской нотации. Числа и арифметические операции записаны через пробел. На вход могут подаваться операции: +, -, *, / и числа, по модулю не превосходящие 10000. Гарантируется, что значение промежуточных выражений в тестовых данных по модулю не больше 50000.
Формат вывода: Вывести единственное число — значение выражения

Читайте также:  Определение цвета пикселя питон

Условие: реализация дека (двусторонняя очередь)
Формат ввода: В первой строке записано количество команд n — целое число, не превосходящее 5000. Во второй строке записано число m — максимальный размер дека. Он не превосходит 1000. \В следующих n строках записана одна из команд: push_back value – добавить элемент в конец дека. Если в деке уже находится максимальное число элементов, вывести «error».
push_front value – добавить элемент в начало дека. Если в деке уже находится максимальное число элементов, вывести «error».
pop_front – вывести первый элемент дека и удалить его. Если дек был пуст, то вывести «error».
pop_back – вывести последний элемент дека и удалить его. Если дек был пуст, то вывести «error».
value — целое число, по модулю не превосходящее 1000.
Формат вывода: Вывести результат выполнения каждой команды на отдельной строке. Для успешных запросов push_back и push_front ничего выводить не надо.

5. Бинарный поиск в сломанном массиве (binary_search).

Условие: необходимо найти элемент в массиве за O(log n), при этом данные исходной отсортированной последовательности сдвинуты в массиве.
Формат ввода: В первой строке записано число n –— длина массива. Во второй строке записано положительное число k –— искомый элемент. \ Формат вывода: Выведите индекс искомого элемента в массиве, если он найден (нумерация с нуля). Иначе выведите -1.
Пример:
Input
9
5
19 21 100 101 1 4 5 7 12
Output:
6

6. Быстрая сортировка (quicksort).

Условие: Тимофей решил сортировать таблицу результатов следующим образом: при сравнении двух участников выше будет идти тот, у которого решено больше задач. При равенстве числа решённых задач первым идёт участник с меньшим штрафом. Если же и штрафы совпадают, то первым будет тот, у которого логин идёт раньше в алфавитном (лексикографическом) порядке.
Формат ввода: В первой строке задано число участников n, 1 ≤ n ≤ 100 000. В каждой из следующих n строк задана информация про одного из участников. i-й участник описывается тремя параметрами:
-уникальным логином (строкой из маленьких латинских букв длиной не более 20);
-числом решённых задач Pi ;
-штрафом Fi ;
Формат вывода: Для отсортированного списка участников выведите по порядку их логины по одному в строке.

Источник

Задача «Ловкость рук»

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

Мое работающее решение:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
from collections import Counter def game(finger, matrix): count = Counter([int(x) for x in matrix]) score = 0 for i in range(0, 10): if (i in count) and (count[i]  finger*2): score += 1 return score finger = int(input()) matrix = list((''.join([input() for i in range(4)])).replace('.', '')) if __name__ == "__main__": print(game(finger, matrix))

Мое неработающее исправление:

# 52351619

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
from collections import Counter def game(finger, matrix): count = Counter([x for x in matrix]) for k in range(0, 10): return sum(score for score in matrix if ( (count[k]  finger*2)) ) if __name__ == "__main__": finger = input() matrix = list((''.join([input() for f in range(4)])).replace('.', '')) print(game(finger, matrix))

Код выдает ошибку TypeError: ‘
Суть ошибки понятна, но как её исправить — нет. Если не сложно помогите до ума довести подсказками или как посчитаете нужным. Спасибо!

Вложения, ожидающие проверки

Untitled2.png

Создать родительский класс «Склад» и 3 подкласса («принтеры»,» сканеры», «ксероксы»)
Начните работу над проектом «Склад оргтехники». Создайте класс, описывающий склад. А также класс.

Написать программу проверки правильности написания сочетаний «жи», «ши», «ча», «ща»
Помогите пожалуйста написать программу проверки правильности написания сочетаний "жи", "ши", "ча".

Regex для примерно следующих вариантов: «45345», «1234.», «323233.1»
Помогите плиз c regex для примерного следующих вариантов: "45345", "1234..", "323233.1". Т.е.

Эксперт Python

Лучший ответ

Сообщение было отмечено Taron8117 как решение

Решение

Курс Сириуса по Python. Задача на двумерные массивы «Кинотеатр»
Кинотеатр В кинотеатре n рядов по m мест в каждом. В двумерном массиве хранится информация о.

Задача для вывода слова «ёлочкой» шириной n букв
Помогите написать программу для вывода слова х "ёлочкой" шириной n букв по 1 букве на строке

Задача «Возвращение значений из функции». Ход конем
Вам дана строка, содержащая координату клетки на шахматном поле (например, “A2”). Напишите функцию.

Олимпиадная задача «Лифт в бизнес-центре»
Рабочий день закончился, и сотрудники бизнес-центра собрались по домам. Бизнесцентр представляет.

Ошибка в коде (задача «частотный анализ»)
Имеется следующая задача: Дан текст. Выведите все слова, встречающиеся в тексте, по одному на.

Задача «Без двух нулей подряд»
Требуется посчитать количество последовательностей длины n, состоящих из цифр от 0 до k−1 таких.

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Практика по курсу алгоритмов в яндекс практикуме

vokod1ak/yandex-algoritms

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Практика по курсу алгоритмов в яндекс практикуме

1. Ближайший ноль (nearest_zero).

Улица, на которой хочет жить Тимофей, имеет длину n, то есть состоит из n одинаковых идущих подряд участков. На каждом участке либо уже построен дом, либо участок пустой. Тимофей ищет место для строительства своего дома. Он очень общителен и не хочет жить далеко от других людей, живущих на этой улице. Чтобы оптимально выбрать место для строительства, Тимофей хочет для каждого участка знать расстояние до ближайшего пустого участка. (Для пустого участка эта величина будет равна нулю –— расстояние до самого себя). Ваша задача –— помочь Тимофею посчитать искомые расстояния. Для этого у вас есть карта улицы. Дома в городе Тимофея нумеровались в том порядке, в котором строились, поэтому их номера на карте никак не упорядочены. Пустые участки обозначены нулями.

2. Ловкость рук (sleight_of_hand).

Гоша и Тимофей нашли необычный тренажёр для скоростной печати и хотят освоить его. Тренажёр представляет собой поле из клавиш 4× 4, в котором на каждом раунде появляется конфигурация цифр и точек. На клавише написана либо точка, либо цифра от 1 до 9. В момент времени t игрок должен одновременно нажать на все клавиши, на которых написана цифра t. Гоша и Тимофей могут нажать в один момент времени на k клавиш каждый. Если в момент времени t были нажаты все нужные клавиши, то игроки получают 1 балл. Найдите число баллов, которое смогут заработать Гоша и Тимофей, если будут нажимать на клавиши вдвоём.

Гоша реализовал структуру данных Дек, максимальный размер которого определяется заданным числом. Методы push_back(x), push_front(x), pop_back(), pop_front() работали корректно. Но, если в деке было много элементов, программа работала очень долго. Дело в том, что не все операции выполнялись за O(1). Помогите Гоше! Напишите эффективную реализацию. Внимание: при реализации нельзя использовать связный список.

Задание связано с обратной польской нотацией. Она используется для парсинга арифметических выражений. Еще её иногда называют постфиксной нотацией. В постфиксной нотации операнды расположены перед знаками операций.

Пример 1: 3 4 + означает 3 + 4 и равно 7

Пример 2: 12 5 / Так как деление целочисленное, то в результате получим 2.

Пример 3: 10 2 4 * — означает 10 — 2 * 4 и равно 2

Разберём последний пример подробнее: Знак * стоит сразу после чисел 2 и 4, значит к ним нужно применить операцию, которую этот знак обозначает, то есть перемножить эти два числа. В результате получим 8.

После этого выражение приобретёт вид: 10 8 — Операцию «минус» нужно применить к двум идущим перед ней числам, то есть 10 и 8. В итоге получаем 2.

Рассмотрим алгоритм более подробно. Для его реализации будем использовать стек. Для вычисления значения выражения, записанного в обратной польской нотации, нужно считывать выражение слева направо и придерживаться следующих шагов:

Обработка входного символа: Если на вход подан операнд, он помещается на вершину стека. Если на вход подан знак операции, то эта операция выполняется над требуемым количеством значений, взятых из стека в порядке добавления. Результат выполненной операции помещается на вершину стека. Если входной набор символов обработан не полностью, перейти к шагу 1. После полной обработки входного набора символов результат вычисления выражения находится в вершине стека. Если в стеке осталось несколько чисел, то надо вывести только верхний элемент. Замечание про отрицательные числа и деление: в этой задаче под делением понимается математическое целочисленное деление. Это значит, что округление всегда происходит вниз. А именно: если a / b = c, то b ⋅ c — это наибольшее число, которое не превосходит a и одновременно делится без остатка на b. Например, -1 / 3 = -1. Будьте осторожны: в C++, Java и Go, например, деление чисел работает иначе. В текущей задаче гарантируется, что деления на отрицательное число нет.

About

Практика по курсу алгоритмов в яндекс практикуме

Источник

Оцените статью