Темы --> Информатика --> Язык программирования
    Процедуры и функции(96 задач)
    Массивы(232 задач)
    Типы данных(356 задач)
    Циклы(177 задач)
    Условный оператор (if)(164 задач)
    Python(260 задач)
    Standard Template Library(2 задач)
---> 952 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 92 93 94 95 96 97 98 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Рассмотрим последовательности чисел. Первая последовательность состоит из одного числа K. Каждая следующая последовательность чисел описывает предыдущую по такому правилу.

Просматриваем описываемую последовательность слева направо и разбиваем на отрезки, состоящие из подряд идущих равных чисел (причем все идущие подряд одинаковые числа всегда объединяем в один отрезок). Далее каждый такой отрезок описываем двумя числами — первое число говорит, сколько раз повторяется одно и то же число, второе число говорит, какое именно число повторяется. Записываем эти пары последовательно в соответствии с отрезками слева направо, и получаем новую последовательность (см. примеры ниже).

Например, для K=2 последовательности получатся такими:

Последовательность Как ее читать (слова в описании соответствуют числам текущей последовательности слева направо, и описывают предыдущую последовательность)
1 2 Исходная последовательность
2 1 2 Одна «двойка»
3 1 1 1 2 Одна «единица», одна «двойка»
4 3 1 1 2 Три «единицы», одна «двойка»
5 1 3 2 1 1 2 Одна «тройка», две «единицы», одна «двойка»
6 1 1 1 3 1 2 2 1 1 2 Одна «единица», одна «тройка», одна «двойка», две «единицы», одна «двойка»

Напишите программу, которая по исходному числу K напечатает N-ую получающуюся последовательность.

Входные данные

Вводится число K (1 ≤ K ≤ 9) и число N (1 ≤ N ≤ 15).

Выходные данные

Ваша программа должна печатать N-ую последовательность, полученную из начальной последовательности, состоящей из одного числа K. Числа при выводе следует разделять пробелами.

Примеры
Входные данные
2
6
Выходные данные
1 1 1 3 1 2 2 1 1 2 
Входные данные
2
1
Выходные данные
2 
Входные данные
1
3
Выходные данные
2 1 

Про три числа (обозначенных a, b, c) известны все результаты сравнения их друг с другом. Требуется расположить эти числа в порядке возрастания.

Входные данные

Вводятся три строки. В первой записан результат сравнения между собой чисел a и b в следующем формате. Первый символ — всегда a, третий символ — b (соответствующие маленькие латинские буквы), а между ними записан один из символов >, < или =. Во второй строке в таком же формате записан результат сравнения a и с (первый символ всегда a, третий — c), а в третьей строке — результат сравнения b и c (первый символ всегда b, третий — c). Гарантируется, что входные данные не противоречивы.

Выходные данные

Выведите символы a, b, c в порядке величины соответствующих им чисел — каждое следующее число должно быть больше либо равно предыдущему. Если два числа равны между собой, соответствующие переменные могут быть выведены в любом порядке. Символы должны быть выведены в одной строке без пробелов и других разделителей.

Примечание

Во втором примере ответ cba также является верным. Обратите внимание, если вариантов ответа несколько — не нужно выводить их все, ваша программа должна вывести ровно один вариант ответа.

Примеры
Входные данные
a>b
a>c
b>c
Выходные данные
cba
Входные данные
a=b
a>c
b>c
Выходные данные
cab
cba
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Напишите функцию для нахождения наибольшего общего делителя двух чисел с помощью алгоритма Евклида и используйте ее в программе для нахождения НОД уже \(n\) чисел.

Входные данные

На вход программе сначала подается значение \(n\) (\(2 \le n \le 100\)). В следующей строке находятся \(n\) целых неотрицательных чисел, не превосходящих \(30\,000\).

Выходные данные

Выведите НОД исходных чисел.

Примеры
Входные данные
3
24 8 20
Выходные данные
4
Входные данные
4
0 2 4 8
Выходные данные
2

Напишите функцию, вычисляющую длину отрезка по координатам его концов. С помощью этой функции напишите программу, вычисляющую периметр треугольника по координатам трех его вершин.

Входные данные

На вход программе подается \(6\) целых чисел — координат \(x_1,\, y_1,\, x_2,\, y_2,\, x_3,\, y_3\) вершин треугольника. Все числа по модулю не превосходят \(30\,000\).

Выходные данные

Выведите значение периметра этого треугольника с точностью до \(6\) знаков после десятичной точки.

Примеры
Входные данные
0 0 1 0 0 1 
Выходные данные
3.4142135624
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Головоломка “Ханойские башни” состоит из трех стержней, пронумерованных числами 1, 2, 3. На стержень 1 надета пирамидка из n дисков различного диаметра в порядке возрастания диаметра. Диски можно перекладывать с одного стержня на другой по одному, при этом диск нельзя класть на диск меньшего диаметра. Необходимо переложить всю пирамидку со стержня 1 на стержень 3 за минимальное число перекладываний.


Напишите программу, которая решает головоломку; для данного числа дисков n печатает последовательность перекладываний в формате a b c, где a — номер перекладываемого диска, b — номер стержня с которого снимается данный диск, c — номер стержня на который надевается данный диск.

Например, строка 1 2 3 означает перемещение диска номер 1 со стержня 2 на стержень 3. В одной строке печатается одна команда. Диски пронумерованы числами от 1 до n в порядке возрастания диаметров.

Входные данные

Вводится натуральное число n.

Выходные данные

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

Примеры
Входные данные
2
Выходные данные
1 1 2
2 1 3
1 2 3

Страница: << 92 93 94 95 96 97 98 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест