Задача A. Распознавание деталей Ваша задача - написать программу для распознавания деталей заданного вида на конвейере. Изображение нужной детали вводится при начале распознавания. Далее вводится изображение части конвейера, на котором могут находиться детали различных видов. Требуется распознать и выделить все изображения заданной детали.
Формат входных данных
Сначала приведено изображение искомой детали. Оно имеет размер 5 \times 55×5. В 5 строках содержится по 5 символов '.' и '#', где решетки соответствуют детали, а точки - фону. Гарантируется, что изображение детали является 4-х связной фигурой. После изображения детали идет изображение текущего состояния конвейера. Это изображение имеет размер 10 \times 2010×20. В последующих 10 строках содержится по 20 символов. Каждая деталь на конвейере 4-х связная и имеет свой цвет, обозначенный малой буквой латинского алфавита. Разные детали обозначены разными буквами.Таким образом изображение конвейера может содержать буквы от 'a' до 'z' и символ '.', по прежнему обозначающий фон. На конвейере находится не более 26 деталей. Следует учитывать, что требуемые детали могут быть повернуты на угол кратный 90 градусов и/или лежать обратной стороной.
Формат выходных данных
Требуется вывести изображение конвейера, на котором все вхождения заданной детали выделены соответствующими буквами, но переведенными в верхний регистр, остальные символы должны остаться без изменений.
Sample Input:
..##.
...##
...#.
a
aaacgg...
a.cccgg...
b.cd
bbb...ddd
bdhh
fhh...e...
...ffh.eee...
ffee..
Sample Output:
A
AAACgg...
A.CCCgg...
B.Cd
BBB...ddd
BdHH
FHH...e...
...FFH.eee...
FFee..
program z;
var
i : integer;
begin
Writeln('Введите число'); Readln(i);
if i mod 2 = 0
then
Writeln('Число чётное')
else
Writeln('Число не чётное');
readln;
end.
2
program z;
var
i : integer;
begin
Writeln('Введите число'); Readln(i);
if i mod 3 = 0
then
Writeln('Число делится на 3')
else
Writeln('Число не делится на 3');
readln;
end.
3
program z;
var
i: array[1..6] of byte;
x:byte;
begin
for x:=1 to 6 do
begin
Writeln('Введите ', x,' цифру из 6 ');
Read(i[x]);
end;
if (i[1]+i[2]) = (i[4]+i[5]+i[6])
then
Writeln('Билет счастливый')
else
Writeln('Билет не счастливый');
Readln;
end.
5)))
program z;
var
i : integer;
begin
Writeln('Введите число'); Readln(i);
if i mod 6 = 0
then
Writeln('Число делится на 6')
else
Writeln('Число не делится на 6');
readln;
end.
6
program z;
var
a,b:integer;
begin
Writeln('Введите число A'); Readln(a);
Writeln('Введите число B'); Readln(b);
if b mod a = 0
then Writeln('Число А делится нацело на число В')
else Writeln('Число А не делится нацело на число B');
Readln;
end.
program z;
var
i : integer;
begin
Writeln('Введите число'); Readln(i);
if i mod 2 = 0
then
Writeln('Число чётное')
else
Writeln('Число не чётное');
readln;
end.
2
program z;
var
i : integer;
begin
Writeln('Введите число'); Readln(i);
if i mod 3 = 0
then
Writeln('Число делится на 3')
else
Writeln('Число не делится на 3');
readln;
end.
3
program z;
var
i: array[1..6] of byte;
x:byte;
begin
for x:=1 to 6 do
begin
Writeln('Введите ', x,' цифру из 6 ');
Read(i[x]);
end;
if (i[1]+i[2]) = (i[4]+i[5]+i[6])
then
Writeln('Билет счастливый')
else
Writeln('Билет не счастливый');
Readln;
end.
5)))
program z;
var
i : integer;
begin
Writeln('Введите число'); Readln(i);
if i mod 6 = 0
then
Writeln('Число делится на 6')
else
Writeln('Число не делится на 6');
readln;
end.
6
program z;
var
a,b:integer;
begin
Writeln('Введите число A'); Readln(a);
Writeln('Введите число B'); Readln(b);
if b mod a = 0
then Writeln('Число А делится нацело на число В')
else Writeln('Число А не делится нацело на число B');
Readln;
end.