Условие задачи | | Прогресс |
Темы:
Символы
Условный оператор
Целые числа
На выборах в Государственную думу в избирательные бюллетени внесено N партий. Электронный сканер для считывания информации с бюллетеней передает информацию о каждом бюллетене в следующем формате: если в соответствующей клетке бюллетеня стоит пометка, то сканер передает + (плюс), в противном случае он передает - (минус). Таким образом, он передает последовательность из N символов - плюсов и минусов.
Бюллетень считается действительным, если пометка есть ровно в одной клетке. Недействительные бюллетени в подсчете результатов выборов не участвуют.
Партия проходит в Государственную Думу, только если она набирает не менее 7% от общего числа действительных бюллетеней.
Требуется вывести номера (в порядке их перечисления в бюллетене) всех партий, которые проходят в Государственную Думу.
Входные данные
В первой строке входных данных содержатся два числа, разделенные пробелом: N - количество партий и M - количество бюллетеней. Оба числа натуральные, N ≤ 200, M ≤ 100 000.
В следующих M строках записана информация, полученная из бюллетеней. Каждая строка - последовательность из N символов + или - (без пробелов).
Гарантируется, что есть хотя бы один действительный бюллетень.
Выходные данные
Выведите через пробел номера партий, прошедших в Думу, в порядке возрастания. Если ни одна из партий не проходит в Думу, выводить ничего не нужно.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
3 4
+--
+--
-+-
+-+ |
1 2 |
2 |
1 5
+
-
-
-
- |
1 |
| |
|
Темы:
Символы
Задачи на моделирование
«Нарисуйте» с помощью символов на экране лес. При этом не пользуйтесь командами перемещения курсора по экрану. Ваша программа должна последовательно выводить символы строк (или строки целиком).
Лес — это одна или несколько елочек. Каждая елочка характеризуется количеством треугольников в ней и размером самого маленького треугольника. Елочка состоит из треугольников, у которых вершины находятся строго друг под другом, и каждый следующий треугольник содержит на одну строку больше предыдущего.
Все елочки должны по вертикали начинаться с первой строки. Каждая елочка должна быть расположена как можно левее, при этом елочки не должны соприкасаться (т.е. возле символов елочки справа, слева, снизу, сверху, а также по диагонали не должно быть символов, изображающих другую елочку) и не должен нарушаться порядок следования елочек.
Елочки должны изображаться символами «#» (решеточка), а пустые места между ними — символами «.» (точка). Во всех строках должно быть выведено одинаковое количество символов, при этом обязательно должна быть строка, в которой последним символом является решеточка, в последней строке обязательно должны быть решеточки (т.е. должен быть выведен прямоугольник из точек и решеточек, в нем не должно быть лишних столбцов и строк).
Входные данные
Вводится число елочек N, а дальше N пар натуральных чисел, описывающих елочки: первое число каждой пары задает количество треугольников в елочке, а второе — размер самого маленького треугольника. Елочки описываются в порядке слева направо (если смотреть на вершины елочек).
Гарантируется, что входные данные будут таковы, что количество символов, которое нужно будет вывести в одной строке, не превысит 79.
Выходные данные
Выведите требуемый «рисунок». Для лучшего понимания смотрите примеры.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
2
3 2
3 3 |
...#......#....
..###....###...
...#....#####..
..###.....#....
.#####...###...
...#....#####..
..###..#######.
.#####....#....
#######..###...
........#####..
.......#######.
......#########
|
2 |
3
1 1
2 1
3 2 |
#.#...#...
..#..###..
.###..#...
.....###..
....#####.
......#...
.....###..
....#####.
...#######
|
| |
|
Темы:
Символы
Миша готовится к ЕГЭ по информатике. Сейчас он изучает задачу A4, в которой описывается работа с масками файлов:
Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которой также могут встречаться следующие символы.
Символ «?» (вопросительный знак) означает ровно один произвольный символ.
Символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
Поскольку открытого банка задач для ЕГЭ по информатике не существует, Мише приходится тренироваться самостоятельно. Напишите программу, которая для каждого имени файла определит, подходит ли оно под заданную маску, чтобы Миша мог сверить свои ответы. Гарантируется, что в маске файла присутствует не более одного символа «*».
Входные данные
В первой строке содержится маска файла. В следующих 5 строках содержатся имена файлов по одному в строке. Имена файлов состоят из маленьких латинских букв, цифр и символа «.» (точка), в маске также могут содержаться символы «?» и «*» (символ «*» — не более одного раза). Длина каждой строки не превосходит 20 символов.
Выходные данные
Для каждого имени файла выведите слово «YES» если оно удовлетворяет маске и «NO» иначе. Выводить слова следует большими латинскими буквами без кавычек, каждое в новой строке.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
?or*.d??
fort.doc
ford.doc
lord2.doc
orsk.dat
port |
YES
YES
YES
NO
NO |
| |
|
Темы:
Символы
Напишите программу, которая переводит данный символ в верхний регистр.
Входные данные
Задан один символ c.
Выходные данные
Если символ является строчной буквой латинского алфавита (то есть буквой от a до z), выведите вместо него аналогичную заглавную букву, иначе выведите тот же самый символ (такая операция называется "перевод в верхний регистр").
Примеры
№ |
Входные данные |
Выходные данные |
1 |
e |
E |
2 |
B |
B |
| |
|
Темы:
Строки
Символы
Дана строка. Известно, что она содержит ровно две одинаковые буквы. Найдите эти буквы. Гарантируется, что повторяются буквы только одного вида.
Входные данные
На вход подается 1 строка.
Выходные данные
Необходимо вывести букву, которая встречается в строке дважды.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
fif |
f |
| |
|
Темы:
Условный оператор
Строки
Символы
В уме Громозеки всегда есть целое число. Первоначально в уме Громозеки целое число равно 0 . Теперь Громозека собирается съесть четыре печеньки, на каждой из которых написан символи либо + либо - . Когда он ест печеньку с символом + , целое число в его уме увеличивается на 1 ; когда он ест печеньку с символом - , целое число в его уме уменьшается на 1 . Печеньки, которые Громозека собирается съесть, даются вам в виде строки S, i -й символ в S - это i -я печенька, которую он ест. Найдите целое число в уме Громозеки после того, как он съест все печеньки.
Входные данные
На вход подается строка из 4-х символов, каждый из которых равен + или - .
Выходные данные
Выведите целое число в уме Громозеки после того, как он съест все печеньки.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
+-++
|
2 |
2 |
-+--
|
-2 |
3 |
----
|
-4 |
| |
|
Темы:
Символы
Строки
На вход программы поступает строка s. Используя обращения к символам по индексу и срезы строк выведите следующие подстроки:
- все символы, начиная с индекса 3, до середины строки включительно (при нечетной длине строки, средний символ не брать);
- последний символ;
- все символа с четными индексами (0, 2, ...);
- все символы с нечетнымы индексами (1, 3, ...);
- все символы, кроме последнего;
- все символы, кроме первого;
- все символы в обратном порядке;
- все символы в обратном порядке, начиная с 3 с конца, и кроме первых двух;
- все символы первой половины в обратном порядке, кроме первого (при нечетной длине строки, средний символ не брать);
- скопировать срезом всю строку s в строку
s2 .
Допишите строчки в программе.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
Hallo, World! |
lo,
!
Hlo ol!
al,Wrd
Hallo, World
allo, World!
!dlroW ,ollaH
lroW ,oll
,olla
Hallo, World! |
| |
|
Темы:
Задачи на процедуры и функции
Строки
Символы
Напишите функцию vowels_count , которая принимает строку и подсчитывает количество английских гласных в ней.
Английские гласные буквы: a, e, i, o, u, y .
Используя данную функцию, определите две строки:
s1 - строку с самым большим числом гласных букв (если таких строк несколько, взять ту, которая встретится раньше).
s2 - строку с самым маленьким числом согласных букв (если таких строк несколько, взять ту, которая встретится раньше).
Входные данные
В первой строке подается натуральное число n (1 < n <= 10) - количество строк. Далее идут n строк. Каждая строка состоит из английских маленьких букв и пробелов.
Выходные данные
Выведите на экран две строки: сначала строку s1 , затем, с новой строки - s2 . Наименьшую из данных строк выровняйте по длине с наибольшей, добавив слева строки символы '* '.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
4
mama papa
doughter son
brother sister
grandmama grandpa |
grandmama grandpa
********mama papa |
| |
|
Темы:
Строки
Символы
Вам дается строка S длиной ровно 9 символов. Каждый символ в строке - это любая из цифр от 0 до 9 . Все символы в строке различны. Выведите цифру, которой не хватает в строке.
Входные данные
На вход подается строка, состоящая из цифр.
Выходные данные
Выведите на экран ответ на задачу
Примеры
№ |
Входные данные |
Выходные данные |
1 |
023456789
|
1
|
2 |
459230781
|
6
|
| |
|
Темы:
Строки
Символы
Дано предложение. Напечатать все его символы, предшествующие первой запятой. Если запятых в предложении нет, то вывести все предложение.
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные: в первой строке задается исходное предложение.
Выходные данные: необходимо вывести все символы предложения, которые предшествуют первой запятой, если запятых нет - вывести все предложение
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
fore, s t.
|
fore |
2 |
fore s t. |
fore s t. |
| |
|
Темы:
Строки
Символы
Дано предложение, в котором имеется несколько букв 'e' (англ.). Найти порядковый номер первой из них.
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные: в первой строке задается исходное предложение.
Выходные данные: необходимо вывести номе первой буквы "е" (англ) в предложении
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
foresete |
4 |
| |
|
Темы:
Символы
Строки
Дано предложение. Определить, есть ли в нем буква " a " (англ.). В случае положительного ответа вывести порядковый номер первой из них. В случае отрицательного - вывести слово NO .
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные: в первой строке задается исходное предложение.
Выходные данные: выведите ответ на задачу.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
foresete |
NO |
2 |
forast |
4 |
| |
|
Темы:
Строки
Символы
Дано слово. Проверить, является ли оно "перевертышем", (то есть читается одинаково как сначала, так и с конца).
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные: в первой строке задается слово.
Выходные данные: необходимо вывести слово "YES ", если слово является перевертышем, и слово "NO " - в противном случае
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
foresete |
NO |
2 |
halah |
YES |
| |
|
Темы:
Строки
Символы
Дана строка, разбитая на предложения. Все предложения заканчиваются знаком точка. Определить количество букв 'i' в первом предложении.
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные: программа получает на вход строку.
Выходные данные: необходимо вывести количество букв 'i' в первом предложении.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
foresete. forest. |
0 |
2 |
firist. forist |
2 |
| |
|
Темы:
Символы
Строки
Дано два слово. Определить, сколько начальных букв первого слова совпадает с начальными буквами второго слова
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные: в первой строке задается два слова через пробел
Выходные данные: необходимо вывести количество совпадающих с начала букв
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
fore forest |
4 |
2 |
forest torest |
0 |
| |
|
Темы:
Строки
Символы
Дано предложение, в котором нет символа "-". Определить количество букв "o" (англ.) в первом слове. В начале предложения могут быть пробелы.
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные: в единственной строке задается исходное предложение.
Выходные данные: необходимо вывести количество букв "о" (англ.) в первом слове.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
fore sete. |
1 |
2 |
hal ah. |
0 |
| |
|
Темы:
Символы
Строки
Дано предложение. Определить количество букв "n", предшествующих первой запятой предложения.
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные: в первой строке задается исходное предложение.
Выходные данные: необходимо вывести количество букв "n", предшествующих первой запятой предложения.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
fore, sete. |
0 |
2 |
hanah. |
1 |
| |
|
Темы:
Строки
Символы
Дано предложение. Определить порядковые номера первой пары одинаковых соседних символов. Если таких символов нет, то вывести на экран слово NO .
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные
В первой строке задается предложение длиной не более 255 символов (в начале и конце предложения нет пробелов).
Выходные данные
Необходимо вывести через пробел порядковые номера первой пары одинаковых соседних символов, или слово "NO " - если такой пары соседних символов нет (первый символ в предложении имеет порядковый номер 1).
Примеры
№ |
Входные данные |
Выходные данные |
1 |
foresete |
NO |
2 |
haah |
2 3 |
| |
|
Темы:
Символы
Строки
Дана последовательность символов, в начале которой имеется некоторое количество одинаковых символов. Определить это количество.
Решите задачу, не используя встроенные функции работы со строками, за исключением функции, возвращающей длину строки.
Входные данные: в первой строке задается последовательность символов.
Выходные данные: необходимо вывести количество одинаковых симвлов в начале строки.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
foresete |
0 |
2 |
ааав |
3 |
| |
|
Темы:
Символы
Строки
Измените регистр символа. Если он был строчной английской буквой сделайте его заглавной буквой; если он был заглавной английской буквой - строчной.
Входные данные
Задан единственный символ c .
Выходные данные
Необходимо вывести получившийся символ.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
a |
A |
2 |
B |
b |
| |
|
Темы:
Символы
Строки
В одной строке через пробел записаны символ и предложение. Напишите программу, которая подсчитывает сколько в предложении слов, оканчивающихся на заданный символ. В предложении между словами только один пробел, в конце и в начале пробелов нет.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
a b |
0 |
2 |
t test slovo |
1 |
| |
|
Темы:
Символы
Строки
Дана строка. Напишите программу, которая определяет, есть ли в заданной строке цифры.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
test |
NO |
2 |
Ocenka-5 |
YES |
| |
|
Темы:
Символы
Строки
В одной строке через пробел записаны число и некоторый текст. Напишите программу, которая выводит из текста те символы, номера которых кратны заданному числу (нумерация начинается с 1).
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
2 slovo |
lv |
2 |
3 test test |
stt |
| |
|
Темы:
Символы
Строки
В одной строке записаны символ и некторый текст. Напишите программу, которая заменяет все символы текста, стоящие на четных местах, заданным символом. Нумерация символов начинается с 1.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
t slovo |
stoto |
2 |
a test test |
tasa aeat |
| |
|
Темы:
Символы
Строки
В одной строке через пробел заданы два символа и некоторый текст. Напишите программу, которая заменить в тексте все буквы, совпадающие с первым символом, на второй.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
a b slovo |
slovo |
2 |
r t rr rr |
tt tt |
| |
|
Темы:
Строки
Символы
В строке записано предложением. Напишите программу, которая будет определять количество слов в нем. В предложении между словами только один пробел, в конце и в начале пробелов нет.
Пример входных и выходных данных
№ теста |
Входные данные |
Выходные данные |
1 |
test |
1 |
2 |
test test |
2 |
| |
|
Темы:
Символы
Строки
Условный оператор
В далеком царстве жил могущественный маг по имени Эльдрик, который был помешан на шахматах. В башне Эльдрика была волшебная шахматная доска, о которой говорили, что она предсказывает будущее королевства. Но был казус. Шахматные фигуры двигались только по белым клеткам, а черные клетки хранили секреты прошлого.
Однажды молодой оруженосец по имени Леон решил узнать все секреты прошлого и пошел к башне. Маг Эльдриг дал оруженосцу пергамент, на котором были написаны координаты одной клетки шахматной доски. Эльдриг сказал, что если он сумеет не глядя на доску определить какой цвет у данной клетки шахматной доски, то ему откроются все секреты прошлого!
Леон не был так помешан на шахматах, но все же смог определить цвет клетки правильно! Сможете ли это сделать и вы?
Шахматная доска выглядит таким образом
Формат входных данных
Программа получает на вход одну строку, в которой записана координата шахматной клетки.
Ограничения
длина строки == 2
'a' <= первый символ строки <= 'h'
'1' <= второй символ строки <= '8'
Формат выходных данных
Выведите слово white , если клетка белого цвета и black - если черного.
| |
|
Темы:
Строки
Символы
Онуфрий изучает древний английский язык. Поскольку он делает это в рамках домашнего задания на завтра, он не успевает детально изучить его грамматику, поэтому он решил для простоты применить следующие правила для перевода современных английских слов в свой вариант древнего английского.
-
Все буквы <<s >>, после которых не идет <<h >> и которые не являются первыми в слове, заменяются на комбинацию <<th >>.
-
Если первая буква в слове <<e >>, то она заменяется на <<ae >>.
-
Комбинация <<oo >> заменяется на <<ou >>, причем если в слове идет подряд более двух букв <<o >>, то из них заменяются только первые две.
Помогите Онуфрию перевести несколько слов на свою версию древнего английского языка.
Формат входных данных
Первая строка ввода содержит \(n\) — количество слов, которые требуется перевести (\(1 \le n \le 100\)). Далее следует \(n\) строк, каждая из которых состоит только из букв латинского алфавита. Все буквы каждого слова строчные, кроме, возможно первой, которая может быть заглавной. Длина каждого слова не превышает 30.
Формат выходных данных
Выведите \(n\) строк — результат перевода. Если первая буква исходного слова была заглавной, то такой же должна быть и первая буква переведенного слова. Иначе все буквы должны остаться строчными.
| |
|
Темы:
Строки
Символы
Давным давно, еще когда не было персональных компьютеров, люди использовали печатные машинки для создания текстов, а самые умельцы создавали картинки из символов.
Некоторые из таких картинок удалось найти в закодированном виде. Восстановите картинку по строке с кодом.
Формат входных данных
Программа получает на вход строку с кодом. Части кода разделены пробелом.
Каждый фрагмент кода это либо:
nl означает NewLine (переход на новую строку)
либо
Количество символа и какой символ
В качестве символов может быть любой печатаемый символ ASCII кода (до символа с кодом 127) либо специальные символы, закодированные следующим образом:
sp - пробел
bS - бэкслеш \
sQ - апостроф '
Количество символа - натуральное число, не превышающее 100.
Формат выходных данных
Выведите получившуюся картинку.
| |
|