Задача Наведение порядка Василий Иванович, известный шахматист и дед шестиклассника Саши, приглашён руководить шахматным кружком в школу, в которой учится его внук.
Придя в первый раз в комнату, где размещается инвентарь кружка, Василий Иванович ужаснулся царящему там беспорядку (и понял, почему предыдущий руководитель кружка был уволен с «волчьим билетом»). Даже шахматные фигуры были свалены в один ящик вместо того, чтобы быть разобранными по комплектам. Скорее всего, некоторые фигуры потерялись…
Что же, надо начинать наводить в комнате порядок! В первую очередь Василий Иванович решил разложить фигуры по комплектам и поручил это дело своему внуку, а Саша просит участников олимпиады определить, сколько комплектов он может собрать.
Напомним, что шахматный комплект состоит из 32 фигур — по шестнадцать белого и чёрного цвета. В комплект одного цвета входят: по одному королю (king) и ферзю (queen), по две ладьи (rook), слона (bishop) и коня (knight), а также восемь пешек (pawn). В дальнейшем будем обозначать фигуры их цветом и названием, разделённым единственным пробелом, например, white king, black pawn, и т.д.
Формат входных данных
Первая строка входного файла содержит величину N — общее количество фигур, найденных в ящике (1 ≤ N ≤ 500000, в 90 % тестов эта величина не превосходит 100000, в 70 % тестов — 10000, а в 50 % тестов — 1000). Далее следуют N строк, каждая из которых содержит описание одной фигуры. Эти строки никак не упорядочены.
Формат выходных данных
Выведите единственное число — ответ на задачу.
2. Длина слов сохранилась, как было три пятибуквенных имени и три шестибуквенных, так и осталось, следовательно одни символы были заменены на другие.
3. В имени Филипп две последние буквы совпадают и среди закодированных слов есть одно шестибуквенное тХКХОО, в котором совпадают две последние буквы. Также есть имя Максим, в котором первая и последняя буквы совпадают, а среди закодированных есть шестибуквенное лЮЙЯХЛ. На этом основании предполагаем, что произведена подмена одной буквы другой, причем подмена постоянная, т.е. конкретная буква всегда подменяется одной и той же.
4. Мы нашли два шестибуквенных имени, следовательно третье (Густав) закодировано как цСЯРЮБ.
5. Среди пятибуквенных имен два начинаются на одну и ту же букву (А), а среди закодированных имен есть два, начинающиеся на "ю", тогда оставшееся бЮДХЛ - это имя Вадим.
6. В слове юМРНМ совпадают вторая и последняя буквы. В имени Антон они также совпадают, следовательно оставшееся юПР╦Л - это Артём.
Окончательно:
юПР╦Л - Артём
юМРНМ - Антон
бЮДХЛ - Вадим
лЮЙЯХЛ - Максим
цСЯРЮБ - Густав
тХКХОО - Филипп
begin
var n:=ReadInteger('Число элементов массива=');
var a:=ArrRandom(n,-25,25);
Write('Исходный массив: '); a.Println;
var k:=a.Where(x->sqr(x)>sqr(a[0])).Count;
if k>0 then Writeln
('Найдено ',k,' элементов, квадрат которых больше квадрата первого')
else Writeln
('Нет ни одного элемента, квадрат которого больше квадрата первого')
end.
Тестовое решение:
Число элементов массива=15
Исходный массив: 11 12 -11 -3 -16 -22 22 4 -4 -1 -16 -9 -19 4 16
Найдено 7 элементов, квадрат которых больше квадрата первого