ПОСТАНОВКАграф колебались строка в векторе
Иногда, когда компьютерные программы имеют ограниченное количество цветов для использования, они используют технику, называемую размывания. Сглаживание - это когда вы используете шаблон, состоящий из разных цветов, так что когда цвета просматриваются вместе, они выглядят как другой цвет. Например, вы можете использовать шаблон шахматной доски черно-белых пикселей для достижения иллюзии серого.
Вы пишете программу, чтобы определить, какая часть экрана покрыта определенным цветом. Учитывая экран компьютера, на котором каждый пиксель имеет определенный цвет, а также список всех сплошных цветов, которые составляют затухающий цвет, верните количество пикселей на экране, которые используются для создания затухающего цвета. Каждый пиксель будет представлен символом в
screen
. Каждый символ вscreen
и вdithered
будет заглавной буквой ('A'
-'Z'
), представляющей цвет.Предположим, что любой пиксель, который является цветом, содержащимся в
dithered
, является частью цвета с затуханием.ОПРЕДЕЛЕНИЕ
Класс:
ImageDithering
Метод:count
Параметры:string
,vector <string>
Возвращает:int
Метод подписи:int count(string dithered, vector <string> screen)
СДЕРЖИВАЮЩИЕ
dithered
будет содержать от 2 до 26 заглавных букв ('A'
-'Z'
), включительно.- Не будет повторяющихся символов в
dithered
.screen
будет содержать от 1 до 50 элементов включительно.- Каждый элемент
screen
будет содержать от 1 до 50 букв верхнего регистра ('A'
-'Z'
) включительно.- Все элементы
screen
будут содержать одинаковое количество символов.Примеров
0)
"BW" { "AAAAAAAA", "ABWBWBWA", "AWBWBWBA", "ABWBWBWA", "AWBWBWBA", "AAAAAAAA"}
Возвращает:
24
Здесь наш трепетал цвет может состоять из черных (
B
) и белых (W
) пикселей, составляя оттенок серого. На снимке расположен серый серый квадрат, окруженный другим цветом (A
).1)
"BW" { "BBBBBBBB", "BBWBWBWB", "BWBWBWBB", "BBWBWBWB", "BWBWBWBB", "BBBBBBBB"}
Возвращает:
48
Вот та же картина, но с внешним цветом заменены черными пикселями. Хотя на самом деле внешние пиксели не образовывают цветовой оттенок, ваш алгоритм все же должен считать, что они являются частью усеченного шаблона.
2)
"ACEGIKMOQSUWY" { "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX", "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX", "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX", "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX", "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX", "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX"}
Возвращает:
150
Изображение вертикальных полос, каждая другая полоса считается частью колебались цвета.
3)
"CA" {"BBBBBBB", "BBBBBBB", "BBBBBBB"}
Возвращает:
0
колебались цвет нет.
4)
"DCBA" {"ACBD"}
Возвращает:
4
Порядок цветов не имеет значения.
Я не понимаю, как подсчитать эти помеченные строки в этих векторах.
Как и в случае с примером 0, линия «ABWBWBWA» имеет 3 "BW", считая слева и 2 "BW", считая также справа. Как я должен считать это?