Подразделы

Другие разделы

Дата и время

19/12/2024 17:34:54

Авторизация

Имя:
Пароль:
Зарегистрироваться
Восстановить пароль
 

printЗадачи

1. Поездка в Триланд

Ограничения: время – 1s/2s, память – 50MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (2)

Страна Триланд находится на острове, имеющем форму равностороннего треугольника. Страна поделена на одинаковые по размерам треугольные графства. Туристы не могут въезжать дважды в одно графство (пересекать границы графств можно только через их общую сторону, а не вершины) и могут покидать страну только через графство, через которое прибыли (можно прилететь в любое графство страны). Напишите программу, вычисляющую максимальное количество графств, которое сможет посетить турист за одну поездку в Триланд.
Ввод содержит одно целое число `N\ (1≤N≤10000)` – количество графств, прилегающих к одной стороне острова.
Вывести одно целое число – максимальное количество посещенных графств.

Пример ввода

3

Вывод для примера

6

2. Доктор Дулитл

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Доктор Дулитл ведет прием пациентов с восьми утра до пяти вечера, с перерывом на обед с полудня до часу дня. Пациенты заранее звонят доктору, указывают время, когда они смогут прийти, а доктор Дулитл назначает им время приема. На каждого пациента он тратит 10 минут, поэтому рабочее время он поделил на временные слоты по 10 минут и записывает пациентов на 8:00am, 8:10am, 8:20am, …, 11:50am, 1:00pm, 1:10pm, …, 4:40pm, 4:50pm. Доктору требуется программа, которая принимает звонки и сообщает время приема. Если есть несколько свободных слотов, начало которых попадает в указанный пациентом диапазон времени, то программа должна выбирать самый ранний из свободных.
В первой строке ввода содержится одно целое число `N\ (1≤N≤50)` – количество звонков. В следующих N строках содержится диапазоны времени, указанные в звонках. Диапазоны перечисляются в порядке поступления звонков. Начальное время диапазона меньше конечного, начальное время может быть не ранее 8 утра, а конечное – не позднее 5 вечера. Время задается в формате h:m am/pm, где h принимает значения от 1 до 12, а m – от 00 до 59, до 12:00 указывается суффикс am, а начиная с 12:00 – суффикс pm.
Вывести для каждого звонка назначенное время приема или сообщение N/A, если в заданный диапазон времени доктор будет занят.

Пример ввода

4
11:51am 1:00pm
12:35pm 1:05pm
1:00pm 2:00pm
8:00am 8:30am

Вывод для примера

1:00pm
N/A
1:10pm
8:00am

3. Идентификатор

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Напишите программу, выполняющую превращение набора английских слов в идентификатор по следующим правилам.
  • Если слово содержит три или менее буквы, то оно полностью включается в идентификатор.
  • Иначе удаляются все гласные буквы в слове, кроме гласной, являющейся первой буквой в слове. В идентификатор включаются три первых буквы результата (если осталось меньше трех, то все оставшиеся). К гласным относятся буквы a, e, i, o, u, y.
  • Первая буква всех слов, начиная со второго, становится прописной.
  • Порядок слов не меняется.
В первой строке ввода содержится непустой набор слов, разделенных пробелами. Длина строки не превышает 100 символов. Слова содержат только строчные латинские буквы.
Вывести получившийся идентификатор.

Пример ввода

list of integer numbers

Вывод для примера

lstOfIntNmb

4. Разрезанный номер

Ограничения: время – 4s/8s, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (1)

Шпион нашел в мусорной корзине несколько клочков бумаги, на каждом из которых были записаны одна или две цифры. Шпион предположил, что это номер для открытия замка сейфа с секретными документами. Напишите программу, вычисляющую, сколько комбинаций номера, составленного из найденных цифр, должен проверить шпион в худшем случае, чтобы открыть сейф.
Ввод содержит в первой строке целое число `N\ (1≤N≤10)` – количество клочков бумаги. В следующей строке содержится `N` групп из одной или двух цифр, разделенных пробелами – цифры на найденных клочках бумаги.
Вывести одно целое число – количество различных номеров, которые можно составить из найденных цифр. Номер может начинаться с 0.

Пример ввода

3
1 12 2

Вывод для примера

5
Можно составить номера: 1122, 1212, 1221, 2112, 2121

5. Шахматный диверсант

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Диверсант должен уничтожить все фигуры на шахматной доске. Для этого он уничтожает любую из стоящих на доске фигур и превращается в неё. После превращения он должен делать ходы по шахматным правилам, пока не уничтожит следующую фигуру, при этом он должен снова превратиться во взятую фигуру. Напишите программу, вычисляющую минимальное число ходов для уничтожения всех фигур на доске.
В первой строке ввода содержится одно целое число `N\ (1≤N≤10)` – количество фигур на доске. В следующей строке содержится `N` групп из 3 символов. Первый символ указывает тип фигуры: 'K' – король, 'Q' – ферзь, 'B' – слон, 'H' – конь, 'R' – ладья. Второй и третий символы указывают местонахождение фигуры на доске: вертикаль задается буквой от 'a' до 'h', а горизонталь – цифрой от '1' до '8'. Все фигуры находятся в разных клетках доски.
Вывести одно число – минимальное число ходов для уничтожения всех фигур на доске. Если уничтожение всех фигур невозможно, вывести –1.

Пример ввода

3
Ha1 Kc5 Qd6

Вывод для примера

3

6. Иллюминация

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (2)

Боб решил украсить дом иллюминацией. Он соединил проводами несколько ламп и подключил их к электросети. Затем Боб повернул рубильник, но некоторые лампы не загорелись.
Напишите программу, которая определит, используя информацию о выполненных соединениях, какие лампы будут гореть. Лампа будет гореть, если существует путь проходящий через лампу от одного контакта электросети до другого такой, что две части пути к лампе и обратно не имеют общих вершин или вершин, соединенных между собой проводами без нагрузки в виде других ламп.
В первой строке ввода содержатся два целых числа, разделенных пробелом – количество ламп `N\ (1≤N≤100)` и количество проводов `K\ (1≤K≤1000)`. Далее следует `K` строк, в каждой строке сначала указывается номер элемента (0 для электросети, от 1 до `N` для лампы), к которому был присоединен один из концов провода, потом через пробел – номер контакта 1 или 2 (все элементы имеют два контакта), затем указывается элемент и контакт, к которому был присоединен другой конец провода, в том же формате.
В выходной файл в первой строке вывести `N` целых чисел, разделяя их пробелами – если `i`-ая лампа будет гореть, то `i`-ое число должно быть равно 1, иначе 0.

Пример ввода

3 4
0 1 1 1
1 2 2 1
2 2 0 2
1 2 0 2

Вывод для примера

1 0 0

7. Прогулка

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (2)

Боб вышел с собакой в парк на прогулку. Боб отцепил поводок, а потом стоял и курил, пока собака бегала по парку. Когда собака обежала все деревья и вернулась к хозяину, Боб прицепил к ошейнику поводок и вернулся домой. Напишите программу, вычисляющую, как далеко собака убегала от хозяина. Считать, что собака бегала от дерева к дереву по прямой.
В первой строке ввода содержится одно целое число `N\ (1≤N≤100)` – количество деревьев в парке. Далее следует N строк, в каждой строке два целых числа `X_i\ Y_i` `(-1000\ ≤\ X_i,\ Y_i\ ≤\ 1000)`, разделенных пробелом – координаты `i`-го дерева. Боб находился в центре координат.
Вывести одно число с тремя десятичными знаками – максимальное расстояние от хозяина до собаки во время прогулки.

Пример ввода

3
1 0
1 1
0 1

Вывод для примера

1.414

8. Игра

Ограничения: время – 2s/4s, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Алиса и Боб играют в следующую игру. На столе несколько кучек с камнями. Игрок может взять либо все камни из одной кучки, либо по одному камню из каждой кучки. Выигрывает тот, кто забирает последний камень.
Напишите программу, вычисляющую ним-значение текущей позиции в игре. Ним-значение любой позиции можно найти как минимум исключенных значений (mex) от множества ним-значений позиций, которые возникают при всех допустимых ходах. Mex множества неотрицательных целых чисел равен наименьшему неотрицательному целому числу, не принадлежащего данному множеству. Например, mex {5,3,0,7,1} = 2, а mex {} = 0. Ним-значение позиции, когда на столе не осталось ни одного камня и нельзя сделать ни одного хода, равно нулю. С помощью ним-значения легко определить, является ли текущая позиция выигрышной или проигрышной (ним-значение проигрышной позиции равно 0), а также найти выигрышный ход (это ход, после которого получается позиция с ним-значением равным 0).
В первой строке ввода содержится одно целое число `N\ (0≤N≤15)` – количество кучек камней на столе. Во второй строке содержится `N` целых чисел, разделенных пробелами, в диапазоне от 1 до 20 – количество камней в кучках.
Вывести одно целое число – ним-значение заданной позиции.

Пример ввода

3
5 1 2

Вывод для примера

1

9. Closest Products

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Given is a set of integers and then a sequence of queries. A query gives you a number and asks to find a product of two distinct numbers from the set, which is closest to the query number.
The first line of input contains an integer `n\ (1<n≤1000)`, which indicates, how many numbers are in the set of integer. The next line contains n different numbers in increase order, separated by spaces. The next line contains a positive integer `m\ (0\ <\ m\ ≤\ 1000)` giving the number of queries. The next line contains a sequence integers, separated by spaces. All queries and products will be less than `10^9`.
Output should be organized as in the sample below. For each query output one line giving the query value and the closest product in the format as in the sample. Inputs will be such that no ties will occur.

Sample input

4
3 5 7 15
3
41 11 105

Sample output

Closest product to 41 is 45.
Closest product to 11 is 15.
Closest product to 105 is 105.

10. Equation

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Given the equation on the variables `x` and `y`, represent it in the standard form `"ax"` + `"by"\ =\ c`, where numbers `a,\ b,\ c` haven't common divisors, and coefficients `a` and `b` are nonnegative.
The first line of input contains `N`, the number of test cases. Each test case is one equation on a separate line with the length less than 100. An equation consists of two or more terms separated by addition, subtraction, or equality operators. A term is an integer, or a variable name (`x` or `y`) optionally preceded by a minus sign or an integer coefficient. There is exactly one equality operator. All operators are surrounded by spaces, and there are no spaces within terms. All integers are in range from –100 to 100. For each case, print one line with the equation in standard form. If both coefficients `a` and `b` equal 0, print "wrong equation" instead. If `a` or `b` equals 0, skip a term with 0. Don't print the coefficient 1 in front of variable either.

Sample input

8
2x + 3y = 4x – 3x
5 = x + y + 3
3y + 2x = 0
10x = 15y
x + y = x + y
2x = -3
-2y = 3
1 = 2

Sample output

x + 3y = 0
x + y = 2
2x + 3y = 0
2x - 3y = 0
wrong equation
2x = -3
2y = -3
wrong equation
loading