ВВОД-ВЫВОД ВО ВСЕХ ЗАДАЧАХ СТАНДАРТНЫЙ, ТО ЕСТЬ С КЛАВИАТУРЫ И

advertisement
ВВОД-ВЫВОД ВО ВСЕХ ЗАДАЧАХ СТАНДАРТНЫЙ, ТО ЕСТЬ С КЛАВИАТУРЫ И
НА ЭКРАН! НЕ НУЖНО ИСПОЛЬЗОВАТЬ ФАЙЛОВЫЙ ВВОД-ВЫВОД!
Ограничение по времени на все задачи, кроме 04 – 0.5 сек, по памяти – 64 Mb.
На задачу 04 ограничение по времени – 2 сек.
01. Загрузка грузовика
Задана грузоподъемность грузовика w (в тоннах). На него последовательно грузятся
предметы массами a1, a2,..., an, где ai — масса i-го груза в тоннах. Если при погрузке
очередного предмета рабочие замечают, что в случае завершения процесса суммарный вес
погруженных предметов превысит грузоподъемность, то погрузка этого предмета не
осуществляется (он пропускается).
Выведите количество предметов, которые будут погружены в соответствии с алгоритмом
выше и их суммарную массу.
Входные данные
В первой строке записана пара целых чисел n, w (1 ≤ n ≤ 10000, 1 ≤ w ≤ 10000). Вторая строка
содержит последовательность целых чисел a1, a2,..., an (1 ≤ ai ≤ 10000).
Выходные данные
Выведите количество погруженных предметов и их суммарную массу.
Пример(ы)
input.txt
output.txt
5 10
5 7 3 9 1
3 9
02. Странные слова
Дан набор из n слов, состоящих из маленьких латинских букв.
Будем называть слово странным, если в нем встречаются 3 или более гласные буквы
подряд.
Ваша задача — удалить из данного набора все странные слова.
Гласными буквами в латинском алфавите считаются e,y,u,i,o,a.
Входные данные
В первой строке содержится число n — количество слов в наборе, n не превосходит 100.
Далее в n строках по одному на строке содержатся слова из набора. Слова состоят только из
маленьких латинских букв. Длина каждого слова не менее 1 и не более 20 символов.
Выходные данные
Выведите все слова из набора, не являющиеся странными. Каждое слово выводите на
отдельной строке в том порядке, в котором они заданы во входных данных.
Пример(ы)
input.txt
output.txt
6
abacaba
aabacaba
aaabacaba
qwerty
yyyyyyyyyeaaaaah
noyes
abacaba
aabacaba
qwerty
03. Почти палиндромы
Дана строка S. Строка состоит из слов, разделенных пробелами. Известно, что если удалить
из любого слова один символ, то получившееся слово будет палиндромом, то есть будет
одинаково читаться как слева направо, так и справа налево. Ваша задача найти позицию
этого символа для каждого слова в строке. Если таких позиций несколько, надо вывести
позицию самого правого такого символа. Под словом будем понимать последовательность
заглавных латинских букв положительной длины. Слова могут разделяться произвольным
числом пробелов. Строка S может как начинаться, так и заканчиваться пробелами.
Входные данные
Во входном файле записана строка S, состоящая из заглавных латинских букв и пробелов.
Длина строки не менее 2-х символов и не более 200. Гарантируется, что в строке S найдется
хотя бы одно слово. Длина каждого слова в S не менее 2-х символов.
Выходные данные
В первую строку выходного файла выведите количество слов в строке S. Во вторую строку
выведите последовательность натуральных чисел - для каждого слова выведите позицию
самого правого символа в слове, удаление которого приведет к тому, что слово станет
палиндромом. Числа в последовательности разделяйте пробелом.
Пример
Ввод
ABCA
AAAA
XAA
Вывод
3
3 4 1
04. M-склад
У известного в M-ляндии предпринимателя Васечкина на M-складе хранится N бочек с
бензином. Они стоят в ряд и пронумерованы от 1 до N. Год назад Васечкин проводил
инспекцию, поэтому он знает, сколько литров бензина было в каждой бочки в то время.
Когда приходил новый заказ на Q литров бензина, рабочие действовали по очень простому
алгоритму. Они наливали его из бочки с наименьшим номером, в которой было достаточное
количество бензина. Если такой бочки не находилось, то заказ игнорировался. Теперь
Васечкин хочет знать, сколько у него осталось бензина, а очередную инспекцию проводить
не хочется. Помогите ему.
Входные данные
В первой строке записано N (1 <= N <= 10000). Во второй строке записано N чисел не
больших 1000 - количество бензина в бочках год назад. Бочки перечислены в порядке
возрастания номера. В третей строке записано K (1 <= K <= 30000) - количество заказов. В
четвертой строке записано K чисел не больших 1000 - количество литров в заказах. Заказы
перечислены в порядке их поступления.
Выходные данные
Выведите S - сколько литров бензина осталось у Васечкина.
Пример
Ввод
3
10 5 10
4
7 8 4 4
Вывод
6
05. Счастливые номера
Номер из N цифр называется счастливым, если между его цифрами можно расставить знаки
'+' и '-' так, что полученное выражение будет равно 0. Не ставить никакого знака между
цифрами нельзя. Лидирующие нули в номере допускаются. Сосчитайте S - количество
счастливых номеров из N цифр, если можно использовать цифры, большие или равные 0 и
меньшие P.
Входные данные
В первой строке записаны целые числа N и P (1 <= N <= 10; 2 <= P <= 10) через пробел.
Выходные данные
В выходной файл выведите число S.
Пример
Ввод
2 10
Вывод
10
06. Цветные перестановки
Даны две перестановки A=(a1, a2, ..., aN) и B=(b1, b2, ..., bN) целых чисел от 1 до N
(перестановкой чисел от 1 до N называется последовательность длины N, в которой каждое
из чисел от 1 до N встречается ровно один раз).
Каждое из чисел от 1 до N необходимо покрасить в один из трех цветов - красный, зеленый
или синий. После этого разрешается в перестановке A менять местами пары разноцветных
соседних элементов так, чтобы в конце получилась перестановка B.
Например, если A=(1, 2, 3), а B=(2, 3, 1), то можно покрасить 1 в красный цвет, а 2 и 3 - в
синий, после чего преобразовать A в B так: (1, 2, 3) > (2, 1, 3) > (2, 3, 1).
Ваша задача: написать программу для нахождения искомой раскраски чисел от 1 до N.
Входные данные
В первой строке входного файла записано число N (1 <= N <= 100000). Во второй и третей
строках указаны перестановки A и B соответственно. Числа в перестановках отделены
пробелами.
Выходные данные
Если искомой раскраски не существует, то выведите в выходной файл слово NO. В
противном случае выведите строку из N символов. i-й символ данной строки должен
определять цвет числа i (1 <= i <= N), причем красный цвет представляется символом R,
зеленый - G, а синий - B.
Пример
Ввод
Test #1
3
1 2 3
2 3 1
Test #2
4
1 2 3 4
4 3 2 1
Вывод
Test #1
RBB
Test #2
NO
Download