Информатика

7 592 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Excel-формула =СУММЕСЛИ(B:B; "Европа"; C:C) на Python записывается как:

  1. df['C'].sum()
  2. df[df['B']=='Европа']['C'].sum()
  3. df.groupby('B').sum()
  4. df['B']=='Европа'.sum()

Как правильно отобрать страны из Европы ИЛИ Азии?

  1. df[(df['R']=='Европа') | (df['R']=='Азия')]
  2. df[df['R'] in ('Европа','Азия')]
  3. df['R'].europe_or_asia()
  4. df[df['R']=='Европа' or df['R']=='Азия']

Что вернёт выражение df[df['Region'] == 'ASIA'].shape[0]?

  1. пару чисел (строки, столбцы)
  2. количество строк (стран Азии)
  3. количество столбцов таблицы
  4. ошибку

На испытательном стенде расположена сетка из \(n\times m\) датчиков. В каждой ячейке — целое показание датчика. Вычислите:

  • максимумы по строкам \(r_i = \max_j a_{ij}\);

  • минимумы по столбцам \(c_j = \min_i a_{ij}\).

Формат ввода

Первая строка: \(n\) и \(m\) (\(1\le n,m\le 500\)). Следующие \(n\) строк по \(m\) целых чисел.

Формат вывода

Строка 1: \(n\) чисел — максимумы по строкам. Строка 2: \(m\) чисел — минимумы по столбцам.

Пример ввода:

3 3
5 12 8
3 7 15
10 6 4

Пример вывода:

12 15 10
3 6 4

Подсказка. np.max(axis=1) и np.min(axis=0).

Выполните Z-нормализацию (стандартизацию) массива: \(z_i = \frac{a_i - \bar{a}}{\sigma},\)  где \(\bar{a}\) — среднее, \(\sigma\) — стандартное отклонение (ddof=0). После стандартизации среднее \(\approx 0\), стандартное отклонение \(\approx 1\).

Формат ввода

Первая строка — \(n\) (\(2\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел. Гарантируется \(\sigma>0\).

Формат вывода

Одна строка — \(n\) чисел, каждое округлено до 4 знаков, через пробел.

Пример ввода:

5
10.0 20.0 30.0 40.0 50.0

Пример вывода:

-1.4142 -0.7071 0.0000 0.7071 1.4142

Подсказка. np.mean(), np.std() и поэлементные операции NumPy.

В физической лаборатории проведена серия измерений ускорения свободного падения \(g\) (м/с\(^2\)). Дан массив из \(n\) вещественных чисел. С помощью NumPy вычислите пять характеристик.

Формат ввода

Первая строка — \(n\) (\(1\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел через пробел.

Формат вывода

Пять строк (значение округлено до 4 знаков после запятой):

  • count — количество элементов \(n\);

  • sum — сумма: \(S=\sum a_i\);

  • mean — среднее: \(\bar{a}=S/n\);

  • range — размах: \(\max(a)-\min(a)\);

  • variance — дисперсия: \(D=\frac{1}{n}\sum(a_i-\bar{a})^2\).

Пример ввода:

5
9.78 9.82 9.81 9.79 9.80

Пример вывода:

count: 5
sum: 49.0000
mean: 9.8000
range: 0.0400
variance: 0.0002

Дано алгебраическое выражение — полином степени не выше 3 — и целое число \(x_0\). Выполните два действия с помощью SymPy:

  1. Разложите на множители — приведите полином к произведению неприводимых множителей.

  2. Вычислите значение выражения при \(x=x_0\).

Формат ввода

Строка 1: выражение в синтаксисе Python (** — возведение в степень, * — умножение, переменная x). Строка 2: целое число \(x_0\) (\(-100\le x_0\le 100\)).

Формат вывода

Ровно 2 строки:

factored: <выражение>
value: <число>

Пример ввода:

x**2 - 4
3

Пример вывода:

factored: (x - 2)*(x + 2)
value: 5

Разбор. \(x^2-4=(x-2)(x+2)\) (разность квадратов). Значение при \(x=3\): \(3^2-4=9-4=5\).

Подсказки. Для разбора строки: parse_expr(s, ...). Разложение на множители: factor(expr). Подстановка: expr.subs(x, x0).

Ты открыл DevTools в браузере (F12) и увидел, как твой браузер общается с сервером. Первая строка запроса выглядит так:

GET /about HTTP/1.1

Это называется стартовая строка

Какая из частей является путём (тем самым, что мы пишем в @app.route(...))?

  1. GET
  2. /about
  3. HTTP/1.1
  4. GET /about

Вася позвонил в пиццерию и сказал: «Мне большую пепперони!». Повар приготовил пиццу, и курьер привёз её домой.

Если сравнить это с открытием сайта в браузере, то звонок Васи (момент, когда он сказал, что хочет пиццу) — это:

  1. Браузер
  2. HTTP-запрос
  3. HTTP-ответ
  4. DNS-сервер

Дан неориентированный планарный граф на \(n\) вершинах и целое положительное число \(k\). Назовем раскраску графа красивой, если никакие две соседние его вершины не покрашены в один цвет (для лучшего понимания рекомендуем обратиться к разделу "Примечание"). Найдите количество красивых раскрасок графа в \(k\) цветов.

В первой строке ввода находится единственное целое число \(t\) — количество тестовых случаев, которые вам будет необходимо обработать \((1 \leq t \leq 100)\).

Первая строка каждого тестового случая содержит целые числа \(n\), \(m\) и \(k\) — количество вершин и рёбер графа, а также количество доступных цветов \((1 \leq n \leq 30, 1 \leq m \leq 40, 1 \leq k \leq 11)\). Обратите внимание, что с ростом \(n\) значение \(k\) в тестах убывает.

Следующие \(m\) строк содержат по два целых числа \(u, v\), задающих рёбра графа.

Для каждого тестового случая выведите единственное число — количество красивых раскрасок графа по модулю \(10^9+7\).

Планарный граф — граф, который можно изобразить на плоскости без пересечений рёбер не по вершинам.

В тесте из условия задан следующий граф:

image

Дан неориентированный планарный граф на \(n\) вершинах и целое положительное число \(k\). Назовем раскраску графа красивой, если никакие две соседние его вершины не покрашены в один цвет (для лучшего понимания рекомендуем обратиться к разделу "Примечание"). Найдите количество красивых раскрасок графа в \(k\) цветов.

В первой строке ввода находится единственное целое число \(t\) — количество тестовых случаев, которые вам будет необходимо обработать \((1 \leq t \leq 100)\).

Первая строка каждого тестового случая содержит целые числа \(n\), \(m\) и \(k\) — количество вершин и рёбер графа, а также количество доступных цветов \((1 \leq n \leq 30, 1\leq m \leq 40, 1\leq k\leq 11)\).

Следующие \(m\) строках содержат по два целых числа \(u, v\), задающих рёбра графа.

Для каждого тестового случая выведите единственное число — количество красивых раскрасок графа по модулю \(10^9+7\). Гарантируется, что до взятия по модулю ответ не превосходит \(50\cdot 10^6\).

Планарный граф — граф, который можно изобразить на плоскости без пересечений рёбер не по вершинам.

В тесте из условия задан следующий граф:

image

Интернет-магазин ведёт лог заказов. На вход подаётся число \(N\) — количество записей. Затем \(N\) строк в формате:

имя товар цена

Один покупатель может делать несколько заказов.

Программа должна для каждого покупателя подсчитать количество заказов и суммарную стоимость. Вывести таблицу, отсортированную по убыванию количества заказов. При равном количестве — по возрастанию суммы. При полном равенстве — в алфавитном порядке.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 30\)).

Следующие \(N\) строк — имя, товар и цена через пробел.

Формат выходных данных

Для каждого покупателя строка в формате: Имя — X заказов, Y руб

Ведётся протокол голов в чемпионате по футболу. На вход подаётся число \(N\) — количество записей. Затем \(N\) строк в формате:

имя матч голы

Один игрок может забивать в нескольких матчах.

Программа должна для каждого игрока подсчитать количество матчей, в которых он забивал, и суммарное число голов. Вывести таблицу, отсортированную по убыванию количества голов. При равном количестве голов — по возрастанию количества матчей. При полном равенстве — в алфавитном порядке.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 30\)).

Следующие \(N\) строк — имя, номер матча и голы через пробел.

Формат выходных данных

Для каждого игрока строка в формате: Имя — X голов, Y матчей

В зоопарке записали массу животных. На вход подаётся число \(N\) — количество животных. Затем вводятся \(N\) строк, в каждой через пробел: название животного и его масса в кг (целое число).

Программа должна собрать данные в словарь и вывести только тех животных, чья масса \(\ge 100\) кг, в формате Животное — масса, в порядке ввода.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 15\)).

Следующие \(N\) строк — название и масса через пробел. Названия уникальны (одно слово).

Формат выходных данных

Строки в формате Животное — масса для животных с массой \(\ge 100\). Если таких нет, ничего не выводить.

На вход подаётся число \(N\) — количество товаров. Затем вводятся \(N\) строк, в каждой через пробел: название товара и его цена (целое число).

Программа должна собрать данные в словарь и вывести только те товары, цена которых строго больше 500, в формате Товар — цена, в порядке ввода.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 15\)).

Следующие \(N\) строк — название и цена через пробел. Названия уникальны (одно слово).

Формат выходных данных

Строки в формате Товар — цена для товаров с ценой \(> 500\). Если таких нет, ничего не выводить.

Поделиться
Класснуть