Вы находитесь на странице: 1из 4

Вступительный онлайн-тест в CS центр 2020

Задача 1
Решите систему:
x ≡ 5 mod 11, x ≡ 2 mod 19

Задача 2
Каждой из приведённых ниже программ сопоставьте наиболее точную
оценку времени её работы в худшем случае:

1.
int func(int *array, int N)
int sum = 0;
for (int i = 0; i < N-1; i++)
int b = sqrt(pow(array[i], 2) + pow(array[i+1], 4));
if (b >= 0)
return -b;
else
sum += b;
return sum;

2.
for (int k = 2; k < N; k++)
for (int i = 2*k; i < N; i += k)
isprime[i] = false;

3.
bool f(int E, int *array, int N)
left = 1, right = N;
while (left <= right)
mid = (right + left) / 2;
if (array[mid] == E)
return true;
if (array[mid] < E)
left = mid + 1;
else

1
right = mid;
return false;

a. O(1)
b. O(n)
c. O(n2 )
d. O(n3 )
e. O(log n)
f. O(n log n)
g. O(2n )

Задача 3
В точке (x; y) = (1; 1) найдите частные производные функции u(x, y),
заданной неявно уравнением

x2 − 2y 2 + 3u2 − yu + y = 0.

Известно, что u(1, 1) > 0.

Задача 4
Дан текст aabbabcabcaa. Постройте префиксный код, чтобы закодиро-
ванный текст занимал минимальное возможное число бит.

В поле ответа укажите целое число — количество бит.

Примечание: префиксный код (англ. prefix code) — код, в котором ни-


какое кодовое слово не является префиксом какого-то другого кодового
слова. Например: { 01, 1, 001, 000 } — префиксный код, а { 1, 10, 01,
00, 111 } — нет.

Задача 5
В доме живет 60 человек — 15 девушек и 45 молодых людей. Неко-
торые из них носят очки. Известно, что молодые люди носят очки с
вероятностью 1/2, а девушки с вероятностью 1/3. Предположим, вы
наугад звоните одному из этих 60 человек. С какой вероятностью это
окажется девушка, если стало известно, что выбранный вами человек
носит очки?

2
Задача 6
В треугольной призме ABCA1 B1 C1 c основанием ABC точка M — точ-
ка пересечения медиан грани A1 B1 C1 .

Какие координаты имеет точка пространства K в системе координат A,


−→ −→ −−→ −−→ −−→
AB, AC, AB1 , если её координаты в системе координат A1 , A1 B, A1 C,
−−−→
A1 M равны (1, −2, 3)?

Задача 7
В криминалистической лаборатории есть 9 образцов неизвестной жид-
кости. Известно, что один из образцов ядовитый, а остальные – без-
вредные. У вас осталось только две лабораторные мыши. Вы можете
напоить каждую из мышей коктейлем из разных образцов, но на это
есть только одна попытка в день – мышей можно напоить ровно в пол-
день (обе мыши пьют одновременно, вы не можете учитывать результат
для одной мыши при выборе напитка для другой). Любое количество
отравленной жидкости убивает. Как обнаружить, какой из образцов
отравлен за два дня?

Приведите максимально подробное решение задачи.

Задача 8
Рассмотрим последовательность чисел pn , где p1 = 1, p2 = 2, а pn =
2pn−1 + pn−2 . Докажите, что 2pn 2 + (−1)n = (pn+1 − pn )2 .

Приведите максимально подробное решение задачи.

Задача 9
Среди 14 студентов каждый имеет ровно трёх друзей (понятие «быть
другом» симметрично). Студенты строго упорядочены по рейтингу (сту-
дентов с равным рейтингом нет). Будем говорить, что студент учится
лучше своих друзей, если он по рейтингу выше хотя бы двух из своих
друзей. Какое максимальное значение может принимать число студен-
тов, которые учатся лучше своих друзей?

Задача 10
Реализуйте стек с минимумом для целых чисел — то есть кроме запро-

3
сов pop() и push(x) требуется на запрос min() возвращать текущий
минимум в стеке (не обязательно писать псевдокод, можно рассказать
алгоритм словами). Время работы всех операций должно быть кон-
стантным. Докажите корректность вашего алгоритма.
Приведите максимально подробное решение задачи.

Задача 11
Даны числа 0 < a < b. Последовательность xn определяется
√ начальным
xn +a xn + axn +a
условием x1 = b и соотношением x2n = 2 , x2n+1 = 3
. Имеет
ли эта последовательность предел? Если имеет, то найдите его.
Приведите максимально подробное решение задачи.

Задача 12
Даша любит писать детективы. Для того, чтобы придумывать сюжеты
как можно быстрее, она придумала специальный метод для их сочине-
ния. Согласно этому методу, в детективе участвуют N персонажей в N
местах действия. Для сочинения сюжета Даша чертит таблицу размера
N × N , в которой строки обозначают персонажей, а столбцы — места.
Затем для каждого персонажа Даша придумывает, в каком месте он
находится, так, чтобы в каждом месте был только один персонаж, и ни
одно место не оставалось пустым. В таблице Даша размещает улики
— пометки в ячейках таблицы (i, j) об алиби персонажа i — которые
обозначают, что персонаж i никак не мог находиться в месте j.

Однако Даша столкнулась с трудностью: не всегда размещённые в таб-


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

В первой строке указано одно число 1 ≤ N ≤ 6 — размер таблицы.


В следующих N строках указано по N чисел: 1, если в этой ячейке есть
улика, или 0, если улики нет.

Вам также может понравиться