Алгоритмы(1657 задач)
Структуры данных(279 задач)
Интерактивные задачи(17 задач)
Другое(54 задач)
Однажды, неловкая секретарша перепутала личные дела учащихся. Теперь их снова необходимо упорядочить сначала по классам, а внутри класса по фамилиям
В первой строке дано число N (1 ≤ N ≤ 1000) – количество личных дел. Далее для каждого из N учащихся следующие данные (каждое в своей строке): фамилия и имя, класс, дата рождения. Фамилия и имя – строки не более чем из 20 символов, класс – строка состоящая из числа (от 1 до 11) и латинской буквы (от "A" до "Z" ), дата рождения – дата в формате "ДД.ММ.ГГ" . Гарантируется, что внутри одного класса нет однофамильцев.
В выходной файл требуется вывести N строк, в каждой из которых записаны данные по одному учащемуся. Строки должны быть упорядочены сначала по классам в порядке возрастания номера, при равенстве - в алфавитном порядке букв, а затем по фамилиям в лексикографическом порядке.
3 Sidorov Sidor 9A 20.07.93 Petrov Petr 9B 23.10.92 Ivanov Ivan 9A 10.04.93
9A Ivanov Ivan 10.04.93 9A Sidorov Sidor 20.07.93 9B Petrov Petr 23.10.92
Во время экперимента Накодиллы было случайно получено сообщение инопланетян, содержащее формулу вида A + B = C.
Общественности стало интересно, какую же систему счисления используют инопланетяне. Так как внеземная цивилизация была достаточно развита, чтобы отправить межпланетное сообщение, Накодилла предположил, что основание системы счисления довольно мало. Требуется написать программу, которая находит минимальное основание системы счисления, при котором данное равенство выполняется.
В единственной строке входных данных содержится равенство вида A + B = C. Строка не содержит пробелы, числа состоят из цифр от 0 до 9 и заглавных латинских букв от А до Z
Гарантируется, что числа A, B, C не превышают 100000 в десятичной системе счисления
Требуется вывести единственное число – искомое основание системы счисления. Если такой системы счисления не существует, то вывести -1. Гарантируется, что ответ не превышает 36.
2+2=4
5
Слово называется анаграммой другого слова, если оно может быть получено перестановкой его символов.
Даны два слова на отдельных строках. Слова состоят из строчных латинских букв и цифр. Длины слов не превышают 255.
Требуется вывести "YES" – если введенные слова являются анаграммами друг друга, "NO" – если нет.
Примечание
Сложность работы программы должна быть O(n). Использование встроенной сортировки(sort, sorted), алгоритмов сортировки пузырёк/quick sort/merge sort и других запрещено!
sharm marsh
YES
ananas nnaass
NO
В связи с визитом Императора Палпатина было решено обновить состав дроидов в ангаре 32. Из-за кризиса было решено новых дроидов не закупать, но выкинуть пару старых. Как известно, Палпатин не переносит дроидов с маленькими серийными номерами, так что все, что требуется - найти среди них двух, у которых серийные номера наименьшие.
Первая строка входного файла содержит целое число N – количество дроидов. (2 ≤ N ≤ 1000), вторая строка – N целых чисел, по модулю не превышающих 2*109 – номера дроидов
Выведите два числа: первым – последний по величине из номеров дроидов (такого следует утилизировать в первую очередь), а вторым – предпоследний.
5 10 2 3 1 5
1 2
Определите, сколько обменов сделает алгоритм пузырьковой сортировки по возрастанию для данного массива.
На первой строке дано число N (1 ≤ N ≤ 1000) – количество элементов в массиве. На второй строке – сам массив. Гарантируется, что все элементы массива различны и не превышают по модулю 109.
Выведите одно число – количество обменов пузырьковой сортировки.
5 1 2 3 4 5
0
5 5 4 3 2 1
10