Строки

351 задача
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
21941#21941
Если ячейке задается текстовый формат, то содержимое ячейки автоматически выравнивается

1. по центру
2. по ширине
3. по правому краю
4. по левому краю
21936#21936
Какой формат может содержать любую последовательность символов?

1. числовой
2. текстовый
3. денежный
4. процентный
Для проведения чемпионата мира по поиску в сети Меганет организаторам необходимо ограничить доступ к некоторым адресам. Адрес в сети Меганет представляет собой строку, состоящую из имени сервера и имени раздела.

Имя сервера представляет собой строку, содержащую от одной до пяти частей включительно. Каждая часть представляет собой непустую строку, состоящую из строчных букв латинского алфавита. Части разделены точкой. Примеры корректных имен сервера: «a», «ab.cd», «abacaba», «a.b.c.d.e».

Имя раздела представляет собой строку, которая может быть либо пустой, либо содержать от одной до пяти частей включительно. Каждая часть начинается с символа «/», после которого следует одна или несколько строчных латинских букв. Примеры корректных имен разделов: «», «/a», «/aba», «/a/b/c/d/e». Адрес формируется приписыванием имени раздела в конец имени сервера. Например, корректными адресами являются строки: «a», «aba/d/f/g/h», «a.b», «aba.caba/def/g», «c.d.e.f.g/a/b/c/d/e».

Для ограничения доступа к некоторым адресам сети Меганет организаторы чемпионата подготовили несколько фильтров. Фильтр, как и адрес, состоит из двух частей: фильтра сервера и фильтра раздела.

Фильтр сервера состоит из имени сервера, перед которым может также идти строка «*.». Если фильтр сервера представляет собой только имя сервера, то этому фильтру соответствует только сервер, имеющий точно такое же имя. Если фильтр сервера представляет собой строку «*.S », где S — имя сервера, то ему соответствуют сервера, удалением нуля или более начальных частей от имени которых можно получить строку S.

Аналогично, фильтр раздела представляет собой имя раздела, после которого может идти строка «/*». Фильтру раздела, который представляет собой просто имя раздела R, соответствуют только разделы, в точности совпадающие с R. Если фильтр раздела представляет собой строку «R/*», то ему соответствуют все разделы, удалением от имен которых нуля или более конечных частей можно получить строку R. Адрес соответствует фильтру, если его имя сервера соответствует фильтру сервера, а его имя раздела соответствует фильтру раздела.

Примеры фильтров и соответствующих им адресов приведены в таблице ниже.
ab.c/d/e ab.c/d/e
*.a a             ax.a         efg.a
*.a/b/c a/b/c       x.a/b/c      e.fg.a/b/c
x.yz/a/* x.yz/a      x.yz/a/b/c    x.yz/a/xyz
*.a/* a             x.a                   e.fg.a
a/b/c    x.a/ddd/c           e.fg.a/b/c/g/haha/i
*.a/b/c/* a/b/c                           x.a/b/c                           e.fg.a/b/c
a/b/c/xxx                   e.fg.a/b/c/d/e/f
   

Требуется написать программу, которая по заданному набору фильтров и списку адресов определяет для каждого адреса, какому числу фильтров соответствует этот адрес.

Пример:
Ввод:
2 0
a.bb/c
bb/c/d
4
a.bb
bb/c/d
a.bb/c/d
bb/c

Вывод:
0
1
0
0


Вывод:
4 0
*.bb/c
*.bb/c/*
bb/c/*
bb/c/*
6
bb
bb/c
bb/c/d
a.bb
a.bb/c
a.bb/c/d

Вывод:
0
4
3
0
2
1
21883#21883
Введите с клавиатуры целое число X (|X| ≤ 109).
В первых трех строках выведите это число на экран в двоичной, восьмеричной, 16-ричной системах счисления.
В следующих двух строках выведите, поместится ли это число в ячейке типа byte и ячейке типа short ("YES"/"NO").
Запрещается использовать циклы и знания о том, сколько именно байт/бит памяти занимают переменные типа int, byte, short.
Пример ввода:
123
 
Пример вывода:
1111011
173
7B
YES
YES
 
Пример ввода:
40000
 
Пример вывода:
1001110001000000
116100
9C40
NO
NO

Напишите функцию, определяющую есть ли в записи числа цифры 8.

Используя данную функцию, напишите программу, которая среди n натуральных чисел, вводимых с клавиатуры, подсчитывает количество чисел, в записи которых нет цифры 8
Входные данные:
в первой строке вводится число n - количестве чисел (n<=100),
далее идут n строк по одному натуральному числу в строке
Выходные данные:
программа должна вывести одно  число, количество чисел, в записи которых нет цифра 8

Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию!).

Пример

Ввод

Вывод

5
22 
94
66
18
18
3
2
21
46 
2
 
Петя и Вася проводят олимпиаду по программированию. На нее пришло так много участников,
что для того, чтобы их всех зарегистрировать, Пете и Васе пришлось работать вдвоем.
Для того, чтобы зарегистрироваться, каждый участник называет свои имя, фамилию и отчество,
а Петя и Вася заносят эту информацию в общую электронную таблицу. Так как участников много,
а времени на организацию так мало, Петя и Вася не успели договориться о формате записи данных
участника в таблицу и им пришлось импровизировать. Петя решил писать для каждого участника
сначала его фамилию, затем имя, а затем — отчество, а Вася — сначала имя, затем отчество, а
затем — фамилию.
По окончании регистрации стало понятно, что для подведения итогов олимпиады использовать
данную таблицу невозможно: участнику будет неудобно себя искать. Было решено привести таблицу
к следующему виду:
• для всех участников сначала написана фамилия, затем имя, а затем — отчество;
• участники в таблице упорядочены лексикографически по фамилии.
Петя и Вася заметили, что фамилии у всех участников различны, а вот каждое имя встречается
хотя бы два раза. При этом никакое имя не является ни фамилией, ни отчеством никакого из
участников, аналогично никакие фамилия и отчество не совпадают.
Пользуясь этой информацией, помогите им привести таблицу к желаемому виду.
Формат входных данных
В первой строке задано число n (2 ≤ n ≤ 1000) — общее число записей в электронной таблице.
Далее, в n строках записано по три слова s1,i, s2,i, s3,i. Каждое из слов содержит от 1 до 20 латинских
букв, первая буква является заглавной, а все остальные — строчными. Каждая строка соответствует
одной из записей, сделанных Петей или Васей. Слова разделены одним пробелом.
Формат выходных данных
Выведите n строк — электронную таблицу, в которой для каждого участника идет сначала
фамилия, потом имя, потом отчество, причем все записи отсортированы лексикографически.
Лексикографический порядок соответствует порядку в словарях: слова сначала сравниваются
по первой букве, затем по второй и т.д. Если очередная буква в одном из слов идет раньше в
алфавите, то это слово лексикографически меньше другого. Если же расхождение так и не найдено,
то есть одно из слов является префиксом другого, то считается, что слово, являющееся префиксом,
лексикографически меньше.

Пример
Ввод
4
Ivanov Ivan Ivanovich
Ivan Borisovich Petrov
Sergey Ivanovich Sidorov
Pavlov Sergey Borisovich

Вывод
 
Ivanov Ivan Ivanovich
Pavlov Sergey Borisovich
Petrov Ivan Borisovich
Sidorov Sergey Ivanovich
Напишите программу, которая выводит рыбку в виде рисука ASCII-арт (рисунок в виде строки 1х10 символов).
<@(/\/\)>< 
✓ 519✗ 1 020200лёгкаяВойти и решать
20243#20243
Дано трехзначное число. Написать программу, которая определяет сколько раз входит в него цифра 4.

(никакие поясняющие записи в программе делать не нужно! библиотеку conio.h и команду getch() перед отправкой файла необходимо удалить!)

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 473 1
 

✓ 32✗ 122700средняяВойти и решать
Записана последовательность чисел в странном формате:
у каждого числа сначала записано количество цифр в этом числе, а потом через пробел - сами цифры. Последовательность заканчивается числом 0. 
 
В выходной файл нужно вывести сначала количество чисел в последовательности, а потом - сами числа в столбик.
 
Количество чисел в последовательности не превышает 1000. В числах - не более 4-х знаков.
 
Напишите программу, которая считает сумму цифр числа.

Входные данные
На вход подается одно натуральное число.

Выходные данные
Выведите на экран сумму его цифр.
 
 
Примеры
Входные данные Выходные данные
1 157 13
5003#5003
Дан символ и текст. Подсчитать количество символов до первого вхождения заданного символа в тексте. Если такого символа нет, то вывести -1.

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 a
test
-1
2 e
test
1

Поделиться
Класснуть