Язык программирования

3 014 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
На вход программы поступает последовательность из N целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов  последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре не важен). Необходимо определить количество пар, для которых произведение элементов делится на 26.
 
Входные данные
В первой строке входных данных задаётся количество чисел N (\(1 < N <= 100000\)). В каждой из последующих N строк записано одно целое положительное число, не превышающее 10 000.

Выходные данные
В качестве результата программа должна напечатать одно число: количество пар, в которых произведение элементов кратно 26.
 

 

Примеры
Входные данные Выходные данные
1
4
2
6
13
39
4

Пояснение. Из четырёх заданных чисел можно составить 6 попарных произведений: 2·6, 2·13, 2·39, 6·13, 6·39, 13·39 (результаты: 12, 26, 78, 78, 234, 507). Из них на 26 делятся 4 произведения (2·13=26; 2·39=78; 6·13=78; 6·39=234).
 

Палиндром - это строка, которая читается одинаково как справа налево, так и слева направо. 
 
На вход программы поступает набор больших латинских букв (не обязательно различных). Разрешается переставлять буквы, а также удалять некоторые буквы. Требуется из данных букв по указанным правилам составить палиндром наибольшей длины, а если таких палиндромов несколько, то выбрать первый из них в алфавитном порядке.
 
Входные данные
В первой строке входных данных содержится число N (1 <= N <= 100000). Во второй строке задается последовательность из N больших латинских букв (буквы записаны без пробелов).
 
Выходные данные
В единственной строке выходных данных выдайте искомый палиндром.
 
Ввод Вывод
3
AAB
ABA
6
QAZQAZ
AQZZQA
6
ABCDEF
A
Слово называется анаграммой другого слова, если оно может быть получено перестановкой его букв.
 
Формат входных данных
Даны два слова на отдельных строках. Слова состоят из строчных латинских букв и цифр. Длины слов не превышают 255.
 
Формат выходных данных
Требуется вывести "YES"  – если введенные слова являются анаграммами друг друга, "NO"  – если нет.
Известен возраст группы людей в списке. Какой человек указан в списке раньше: самый старый или самый молодой? Если самых старых (молодых) несколько, то учитывайте того, кто встретился раньше.

Входные данные
В первой строке вводится число N - количество людей в списке (1<N<=100). Во второй строке вводятся N чисел - возраст людей в списке (каждое число в диапазоне от 0 до 120).

Выходные данные
Вывести на экран слово OLD,  если самый старый человек встречается в списке раньше, иначе слово YOUNG, если раньше встречается самый молодой.
 
Примеры
Входные данные Выходные данные
1
10
67 99 43 95 32 107 65 104 1 31 
OLD
2
10
1 99 43 95 32 107 65 104 1 31 
YOUNG
В массиве хранится информация о годе рождения каждого из N человек. Определить порядковый номер первого самого младшего по возрасту человека. 

Входные данные
В первой строке задается число N - число человек (0<N<=50). Во второй строке задаются года рождения N человек (N чисел, каждое число положительное, не больше 105).

Выходные данные
Вывести номер первого самого младшего человека.
 
Примеры
Входные данные Выходные данные
1 5
1904 1903 1905 1905 1903
3
В массиве хранится информация о годе рождения каждого из N человек. Определить порядковый номер последнего самого старшего по возрасту человека. 

Входные данные
В первой строке задается число N - число человек (0<N<=50). Во второй строке задаются года рождения N человек (N чисел, каждое число положительное, не больше 105).

Выходные данные
Вывести номер последнего самого старшего человека.
 
Примеры
Входные данные Выходные данные
1 5
1904 1903 1905 1905 1903
5
В массиве хранится информация о годе рождения каждого из N человек. Определить порядковый номер первого самого старшего по возрасту человека. 

Входные данные
В первой строке задается число N - число человек (0<N<=50). Во второй строке задаются года рождения N человек (N чисел, каждое число положительное, не больше 105).

Выходные данные
Вывести номер первого самого старшего человека.
 
Примеры
Входные данные Выходные данные
1 5
1904 1903 1905 1905 1903
2
В массиве хранится информация о годовой премии у N сотрудников фирмы. Определить порядковый номер последнего сотрудника с самой низкой годовой премией.

Входные данные
В первой строке задается число N - количество сотрудников фирмы (0<N<=50). Во второй строке задаются значения премий N сотрудников фирмы (N чисел, каждое число положительное, не больше 105).

Выходные данные
Вывести номер последнего сотрудника с минимальной премией.
 
Примеры
Входные данные Выходные данные
1 5
4 3 5 3 5
4
В массиве хранится информация о годовой премии у N сотрудников фирмы. Определить порядковый номер первого сотрудника с самой низкой годовой премией.

Входные данные
В первой строке задается число N - количество сотрудников фирмы (0<N<=50). Во второй строке задаются значения премий N сотрудников фирмы (N чисел, каждое число положительное, не больше 105).

Выходные данные
Вывести номер первого сотрудника с минимальной премией.
 
Примеры
Входные данные Выходные данные
1 5
4 3 5 5 3
2
В массиве хранится информацию о максимальной скорости каждой из N марок легковых автомобилей. Определить порядковый номер последнего встретившегося автомобиля с самой высокой скоростью.

Входные данные
В первой строке задается число N - количество авомобилей (0<N<=50). Во второй строке задаются значения скоростей N автомобилей (N чисел, каждое число положительное, не больше 105).

Выходные данные
Вывести номер последнего встретившегося автомобиля с самой высокой скоростью.
 
Примеры
Входные данные Выходные данные
1 5
4 3 5 5 3
4
В массиве хранится информацию о максимальной скорости каждой из N марок легковых автомобилей. Определить порядковый номер первого встретившегося автомобиля с самой высокой скоростью.

Входные данные
В первой строке задается число N - количество авомобилей (0<N<=50). Во второй строке задаются значения скоростей N автомобилей (N чисел, каждое число положительное, не больше 105).

Выходные данные
Вывести номер первого самого быстрого автомобиля.
 
Примеры
Входные данные Выходные данные
1 5
4 3 5 3 5
3

В физической лаборатории проводится долговременный эксперимент по изучению гравитационного поля Земли. По каналу связи каждую минуту в лабораторию передаётся положительное целое число – текущее показание прибора «Сигма 2015». Количество передаваемых чисел в серии известно и не превышает 100 000. Все числа не превышают 10 000. Временем, в течение которого происходит передача, можно пренебречь. Необходимо вычислить «бета-значение» серии показаний прибора – минимальное чётное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Если получить такое произведение не удаётся, ответ считается равным -1.
 

Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик).


Входные данные  
В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что \(N>6\). В каждой из следующих N строк задаётся одно положительное целое число – очередное показание прибора.

Выходные данные
Программа должна вывести одно число - описанное в условии произведение, либо -1, если получить такое произведение не удаётся.

 

Примеры
Входные данные Выходные данные
1 12
45
5
3
1
7
23
21
20
19
18
1
7
18
Напишите программу, которая вычисляет значение функции z(t) при изменении x от 4 до 28 с шагом 1.
\(z = 2t^2 - 5,5t - 2\), при \(t = x+2\).

Входные данные
Ничего с клавиатуры вводить не нужно.

Выходные данные 
Необходимо вывести значения z(t) для всех значений x. По одной паре (x, z) в строке. Формат вывода смотри в примере.
 
Примеры
Входные данные Выходные данные
1  
x=4 z=37.0
x=5 z=57.5
...
x=27 z=1520.5
x=28 z=1633.0
✓ 116✗ 390500лёгкаяВойти и решать
Напишите программу, которая вычисляет значение функции z(t) при изменении a от 2 до 17 с шагом 1.
\(z = 3,5t^2 - 7t +16\), при \(t = 4a\).

Входные данные
Ничего с клавиатуры вводить не нужно.

Выходные данные 
Необходимо вывести значения z(t) для всех значений a. По одной паре (a, z) в строке. Формат вывода смотри в примере.
 
Примеры
Входные данные Выходные данные
1  
a=2 z=184.0
a=3 z=436.0
a=4 z=800.0
...
a=16 z=13904.0
a=17 z=15724.0
✓ 195✗ 514400лёгкаяВойти и решать
Дано число N и N различных целых чисел. Необходимо вывести позицию минимального и максимального чисел среди всех N чисел.

Входные данные
В первой строке вводится число N - количество чисел  (\(N<=100\)). Далее идут N чисел, по одному в строке  (все числа целые, не превышающие по модулю 10 000).

Выходные данные
Вывести на экран два числа через пробел, сначала номер позиции минимального числа, затем через 1 пробел, номер позиции максимального числа.
 

 

Примеры
Входные данные Выходные данные
1 5
-2
1
2
3
0
1 4

При сложностях:
Теоретическая карточка содержит подсказку.
✓ 4 988✗ 11 853400лёгкаяВойти и решать
Дано число N и последовательность из N чисел. Необходимо вывести минимальное четное число среди заданных N чисел.

Входные данные
В первой строке вводится число N - количество чисел  (\(N<=100\)). Далее идут N чисел по одному в строке (все числа целые, не превышающие по модулю 10 000). Среди N чисел имеется хотя бы одно четное число.

Выходные данные
Вывести на экран минимальное четное число среди всех N чисел.

 

Примеры
Входные данные Выходные данные
1 5
-2
1
2
3
0
-2
✓ 5 829✗ 16 072300лёгкаяВойти и решать
Вводится число N и затем N чисел по одному в строке. Необходимо вывести максимальное число среди всех вводимых чисел.

Входные данные
В первой строке вводится число N - количество чисел  (\(N<=100\)). Далее по одному в строке идут N чисел (все числа целые, не превышающие по модулю 10 000).

Выходные данные
Вывести на экран максимальное число из всех N чисел.

 
Примеры
Входные данные Выходные данные
1 5
0
1
2
3
4
4
✓ 6 628✗ 16 227300лёгкаяВойти и решать

Самой инновационной разработкой "British Scientists, Inc" является способ нахождения решения для любой задачи, которую возможно решить с помощью тильда-омега-лямбда-исчисления (то есть, для никакой). Для этого они перебирают все возможные скобочные последовательности длины x, где х - первая цифра секретной константы, использующейся во многих разработках компании. Если x нечётное, они просто прибавляют к нему единицу. Потом они используют продвинутые алгоритмы, использующие нейролингвистическое программирование и вычисленные по спирали Фибоначчи числа Каталана гуголдцатого порядка для определения местонахождения термов. Но эти алгоритмы уже реализованы и запатентованы. 

Ваша же задача - реализовать алгоритм перебора. 


Входные данные
На вход подаётся первая цифра секретной константы - x (\(1 <= x <= 9\)). 
 

Выходные данные
Нужно вывести все ПСП длины x (или x+1, если \(x \% 2 ==1\)) в лексикографическом порядке.

 

Примеры
Входные данные Выходные данные
1 1
( )
[ ]
{ }
Тильда-омега-лямбда-исчисление - ещё более инновационная разработка "British Scientists, Inc" в сфере функционального программирования. Его отличие от омега-лямбда-исчисления только в возможности ставить квадратные и фигурные скобки. Планировались также скобки в форме слоников, но стандарт ЮНИКОД у компании изменить не получилось. 
На вход подаётся тильда-омега-лямбда-выражение длиной не более 10^7 символов. Нужно вывести результат его тильда-иззи-редукции, работающей так же, как и иззи-редукция для омега-лямбда-выражений, но с учётом квадратных и фигурных скобок.

Напомним, иззи-редукция - одна из операций над такими выражениями. При её выполнении проверяется, является ли скобочная последовательность в выражении правильной. Термы при этом игнорируются. Если последовательность правильная - она превращается в терм gg, если нет - в терм wp. 
 

 

Примеры
Входные данные Выходные данные
1 main{izzy[lol](ttt)} gg
Меллерт Гихаил сегодня был в прекрасном настроении до того, как его одноклассник Фусков Кедор не заговорил о политике. Гихаил очень сильно разозлился, поэтому придумал задачу по информатике для Кедора, чтобы тот начал решать и наконец-то заткнулся. 
Задача была такая:  “Существует n логических функций, которые зависят от одного и того же множества переменных. Даны n чисел, битовое представление которых определяет таблицу истинности для каждой функции. Вам необходимо найти такой порядок расположения функций, чтобы из каждой функции логически следовала любая из последующих или сказать, что это  невозможно. Если ответ существует, то необходимо найти лексикографически минимальный порядок. Можно показать, что размер множества переменных, от которого зависят функции, не влияет на решение задачи”.
 Кедор – ваш лучший друг, а Гихаил – заклятый враг, поэтому вы решили помочь с решением задачи, а затем вместе с Кедором возобновить разговоры о политике, чтобы Гихаил от злости улетел на Луну.
 
Входные данные
В первой строке дано число n (1 <= n <= 10) – кол-во функций. 
Во второй строке дано n чисел в диапазоне [0; 10^9] – таблицы истинности функций, переведенные в десятичную систему счисления. 
Выходные данные
Если порядок существует, в первой строке выведите “YES”, во второй лексикографически минимальную перестановку из всех возможных. Если порядка нет, то выведите “NO”.

Пример
Ввод Вывод
3
3 1 7
YES
2 1 3
2
1 2
NO
 

(с)  Курбатов Е., 2017
 
Поделиться
Класснуть