nastyagru1
30.08.2021 18:10

Задача 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..

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
qwerty836
13.11.2022 02:36
// PascalABC.NET 3.0, сборка 1157 от 02.02.2016
begin
  var a:array[1..20] of integer;
  Randomize;
  for var i:=1 to 20 do a[i]:=Random(-50,50); a.Println;
  var b:=Range(2,20,2).Select(i->a[i]);
  Writeln('Элементы с четными индексами по возрастанию');
  b.Sorted.Println;
  Writeln('Элементы с четными индексами по убыванию');
  b.SortedDescending.Println;
end.

Тестовое решение:
-15 46 -34 -3 43 16 -17 -28 -19 12 -28 -11 48 -12 -1 33 -37 9 6 -40
Элементы с четными индексами по возрастанию
-40 -28 -12 -11 -3 9 12 16 33 46
Элементы с четными индексами по убыванию
46 33 16 12 9 -3 -11 -12 -28 -40
0,0(0 оценок)
Ответ:
huhttt
07.11.2020 11:40
Program pr;
uses crt; 
Var a,b,c:integer; 

Begin   
Write('Введите 1-ю сторону: '); Readln(a);   
Write('Введите 2-ю сторону: '); Readln(b);   
Write('Введите 3-ю сторону: '); Readln(c); 
  
{Проверка на существование треугольника} 
if ((a+b)>c) and ((a+c)>b) and ((b+c)>a)   then        
     Begin                     
          if ((a=b)or (b=c) or (a=c)) then               
                Writeln('Треугольник равнобедренный');                       
 
         if ((a=b) and (b=c)) then               
            Writeln('Треугольник равносторонний')                 
         else Writeln('Треугольник разносторонний');           
  
        if ((a*a+b*b = c*c) or (a*a+c*c = b*b) or (b*b+c*c = a*a))    then
             Writeln('Треугольник прямоугольный');                      
    end   
   else       Writeln('Треугольник нельзя построить');    

Readln(); 
END.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота