Шифрования, который часто используют начинающие криптографы, заклю- чается в том, что шифруемое слово записывается некоторым достаточно хитрым образом в клетках
квадрата. Одним из таких, не очень удачных шифров, является шифр "Змейка".
Он применяется для шифрования слов длины n^2 (если длины слова меньше, оно дополняется
точками). Слово разбивается на части длиной по n символов каждая. Далее эти части записыва-
ются в квадрат размером n на n (каждая часть в отдельную строку), при этом части с четными
номерами записываются задом наперед. Например, слово Iloveyou., полученное из фразы I love
you. удалением пробелов, будет закодировано следующим образом.
Оно будет разбито на три части: Ilo, vey, ou.. Эти части далее будут записаны в квадрат так:
Можно видеть, что шифруемое слово записано в этом квадрате "змейкой".
Задан квадрат, получившийся в результате шифрования некоторого слова описанным
Необходимо выяснить, содержится ли в исходном слове подстрока t.
Формат ввода:
Первая строка входного файла содержит целое число n (1 <= n <= 50). Последующие n строк
содержат каждая по n символов - строки квадрата, начиная с первой. Последняя строка входного
файла содержит искомую непустую строку t, длина которой не превышает 1000 символов. Квадрат
и строка t состоят только из строчных букв латинского алфавита и точек.
Формат вывода:
В выходной файл выведите слово YES, если строка t содержится в зашифрованной строке, и
слово NO - в противном случае.
Пример ввода: Пример вывода:
3
Ilo
yev
ou.
you
YES
3
Ilo
yev
ou.
me
NO
begin
write('Введите время(ч,м): '); read(h,m);
t:=h*60+m;
writeln('В данный момент на станции стоят следующие поезда: ');
if (t>=540) and (t<590) then writeln('Номер 1, Красноярск- Москва ');
if (t>=570) and (t<620) then writeln('Номер 2, Новгород - Москва ');
if (t>=610) and (t<670) then writeln('Номер 3, С.-Петербург - Калининград ');
if (t>=660) and (t<720) then writeln('Номер 4, Владивосток - Москва ');
if (t>=720) and (t<750) then writeln('Номер 5, Москва - Омск ');
if (t>=755) and (t<795) then writeln('Номер 6, Томск — Москва ');
if (t>=780) and (t<830) then writeln('Номер 7, Москва — Екатеринбург ');
if (t>=820) and (t<860) then writeln('Номер 8, Москва — Самара ');
if (t>=845) and (t<910) then writeln('Номер 9, С.-Петербург — Москва ');
if (t>=890) and (t<950) then writeln('Номер 10, Москва — Красноярск ');
if (t>=940) and (t<990) then writeln('Номер 11, Москва — Владивосток ');
if (t>=980) and (t<1025) then writeln('Номер 12, Омск-Москва ');
if (t>=1020) and (t<1085) then writeln('Номер 13, Москва — С.-Петербург ');
if (t>=1080) and (t<1140) then writeln('Номер 14, Екатеринбург — Москва ');
end.
Задача 1
Дано:
K = 16 * 32 * 25 шт = 12800 шт
i = 16 бит
I - ?
I = K * i (K - кол-во символов, i - вес одного символа/бит на символ)
Вес текста I = K * i = 12800 * 16 бит = 204800.0 бит
204800.0 бит = 25600.0 байт = 25.0 Кбайт
Задача 2
Дано:
K = 16 * 32 * 20 шт = 10240 шт
i = 16 бит
I - ?
I = K * i (K - кол-во символов, i - вес одного символа/бит на символ)
Вес текста I = K * i = 10240 * 16 бит = 163840.0 бит
163840.0 бит = 20480.0 байт = 20.0 Кбайт
Задача 3
Дано:
K = 32 * 32 * 30 шт = 30720 шт
i = 8 бит
I - ?
I = K * i (K - кол-во символов, i - вес одного символа/бит на символ)
Вес текста I = K * i = 30720 * 8 бит = 245760.0 бит
245760.0 бит = 30720.0 байт = 30.0 Кбайт