---> 194 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 19 20 21 22 23 24 25 >> Отображать по:
Задан текст, требуется вывести вертикальную гистограмму для различных букв текста с помощью символов #.

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

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

Входной файл содержит зашифрованный текст сообщения. Он содержит строчные и прописные латинские буквы, цифры, знаки препинания («.», «!», «?», «:», «-», «,», «;», «(», «)»), пробелы и переводы строк. Размер входного файла не превышает \(10^4\) байт. Текст содержит хотя бы один непробельный символ. Все строки входного файла не длиннее 200 символов.

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

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

Пример

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

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

Hello, world!
     #   
##
#########
!,Hdelorw
Twas brillig, and the slithy toves
Did gyre and gimble in the wabe;
All mimsy were the borogoves,
And the mome raths outgrabe.
         #              
#
#
#
#
# #
# # #
# # ### ####
## ###### ####
##############
############## ##
# # ############## ###
########################
,.;ADTabdeghilmnorstuvwy
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Задана скобочная последовательность, содержащая круглые и квадратные скобки. На место квадратной скобки можно поставить произвольное количество соответствующих (открывающих или закрывающих) круглых (возможно ни одной). Требуется составить минимальную по длине правильную скобочную последовательность из круглых скобок.

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

1. пустая строка является правильной скобочной последовательностью; 2. если S – правильная скобочная последовательность, то (S) – тоже правильная скобочная последовательность. 3. если A и B – правильные скобочные последовательности, то AB – тоже правильная скобочная последовательность.

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

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

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

Например, из строки [)())(]()] можно получить правильную скобочную последовательность (()())()().

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

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

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

Выведите в выходной файл минимальную по длине правильную скобочную последовательность из круглых скобок, которую можно получить из заданной строки описанными операциями. Если решений несколько, выведите любое. Если из данной строки нельзя получить ни одной правильной скобочной последовательности, выведите в выходной файл слово «Impossible».

Примеры
Входные данные
[)())(]()]
Выходные данные
(()())(())
Входные данные
[)(][]
Выходные данные
()()
Входные данные
())
Выходные данные
Impossible
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

«Ну не гномы, а наказание какое-то!», – подумала Белоснежка, в очередной раз пытаясь уложить гномов спать. Одного уложишь – другой уже проснулся! И так всю ночь.

У Белоснежки \(n\) гномов, и все они очень разные. Она знает, что для того, чтобы уложить спать \(i\)-го гнома нужно \(a_i\) минут, и после этого он будет спать ровно \(b_i\) минут. Помогите Белоснежке узнать, может ли она получить хотя бы минутку отдыха, когда все гномы будут спать, и если да, то в каком порядке для этого нужно укладывать гномов спать.

Например, пусть есть всего два гнома, \(a_1\) = 1, \(b_1\) = 10, \(a_2\) = 10, \(b_2\) = 20. Если Белоснежка сначала начнет укладывать первого гнома, то потом ей потребуется целых 10 минут, чтобы уложить второго, а за это время проснется первый. Если же она начнет со второго гнома, то затем она успеет уложить первого и получит целых 10 минут отдыха.

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

Первая строка входного файла содержит число \(n\) (1 ≤ \(n\) ≤ \(10^5\)), вторая строка содержит числа \(a_1\),\(a_2\),… \(a_n\), третья – числа \(b_1\),\(b_2\),… \(b_n\) (1 ≤ \(a_i\), \(b_i\) ≤ \(10^9\)).

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

Выведите в выходной файл \(n\) чисел – порядок, в котором нужно укладывать гномов спать. Если Белоснежке отдохнуть не удастся, выведите число -1.

Примеры
Входные данные
2
1 10
10 20
Выходные данные
2 1
Входные данные
2
10 10
10 10
Выходные данные
-1
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
263 megabytes

Мария Ивановна, учитель средней школы 5 села Уборкино, заполняет классный журнал. Но она неожиданно столкнулась с проблемой: список имен, который у неё есть, не отсортирован. Помогите ей! Список необходимо отсортировать в алфавитном порядке по фамилиям. Люди с одинаковой фамилией должны идти в том же порядке, в котором они идут в исходном списке.

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

Первая строка входного файла содержит натуральное число \(N\) (\(1\leq N\leq 20\,000\)) — количество человек в классе. Далее идут \(N\) строк, содержащих по два слова, записанных через пробел: фамилия и имя ученика. В записи фамилии и имени встречаются только буквы латинского алфавита, причём первая буква всегда большая, а остальные — маленькие. Длина фамилии не менее 1 и не более 20. Длина имени не менее 1 и не более 20.

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

Выходной файл должен полностью удовлетворять формату входного файла и должен содержать тот же список, но отсортированный согласно условию.

Примеры
Входные данные
4
Pupkin Vasya
Ivanov Petya
Iskandeev Semil
Ivanov Roma
Выходные данные
4
Iskandeev Semil
Ivanov Petya
Ivanov Roma
Pupkin Vasya
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Вам необходимо составить набор тестов для проверки алгоритма сортировки на корректность.

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

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

В первой строке выведите число \(N\) – количество тестов (1 ≤ \(N\) ≤ 10).

В каждой из следующих строк должно содержаться число \(K\) (1 ≤ \(K\) ≤ 1000) задающее количество чисел, которое необходимо отсортировать. Затем должны следовать \(K\) целых чисел, каждое из которых по модулю не превосходит 10000.

Пример

Сдаваемый на проверку файл

2

3 1 2 3

5 5 1 4 2 3



Страница: << 19 20 21 22 23 24 25 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест