1. Главная
  2. Библиотека
  3. Геометрия
  4. Фермер Джон открыл пастбище с целью помочь Беси и её др...
Разбор задачи

Фермер Джон открыл пастбище с целью помочь Беси и её друзьям. Пастбище ФД можно рассматривать как большую 2D-решётку квадратных ячеек. Каждая ячейка помечена таким образом: • C если в ячейке корова • G если в ячейке трава • . если в ячейке нет ни коровы,

  • Предмет: Геометрия
  • Автор: Кэмп
  • #Дискретная математика
  • #Теория графов
Фермер Джон открыл пастбище с целью помочь Беси и её друзьям. Пастбище ФД можно рассматривать как большую 2D-решётку квадратных ячеек. Каждая ячейка помечена таким образом: • C если в ячейке корова • G если в ячейке трава • . если в ячейке нет ни коровы,

Условие:

Фермер Джон открыл пастбище с целью помочь Беси и её друзьям. Пастбище ФД можно рассматривать как большую 2D-решётку квадратных ячеек. Каждая ячейка помечена таким образом:
• C если в ячейке корова
• G если в ячейке трава
• . если в ячейке нет ни коровы, ни травы

Для того, чтобы две различные коровы стали друзьями, коровы должны встретиться в ячейке с травой, которая горизонтально или вертикально соседствует с каждой из них. Во время этого процесса они съедают траву в этой ячейке, поэтому другая пара коров уже не сможет использовать эту ячейку как место встречи. Любая корова может подружиться более чем с одной другой коровой, но никакая пара коров не может встретиться и стать друзьями более одного раза.

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

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит N и M. (N<=1000, M<=1000)

Каждая из следующих N строк содержит M символов, описывая пастбище.

ФОРМАТ ВЫВОДА (на экран / stdout):

Определите максимальное количество пар коров, которые могут стать друзьями.

ПРИМЕР ВВОДА:
4 5
.CGGC
.CGCG\nCGCG.
.CC.C

ПРИМЕР ВЫВОДА:
4

Решение:

Задача сводится к следующему. У нас имеется пастбище в виде решётки, где некоторые ячейки содержат траву («G»), а некоторые – коров («C»). Две коровы могут «подружиться», если находится ячейка с травой, которая соседствует (по 4‑и направлениям) с обеими коровами. При этом трава в ячейке съедается, и ту ячейку нельзя использовать повторно. Важное ограничение – одна и та же пара коров не может встречаться дважды (то есть одну и ту же пару нельзя выбирать из двух разных ячеек с травой).

Заметим, что если в ячейке с травой есть несколько коров-соседей, то можно получить несколько в...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какой алгоритм используется для нахождения максимального количества пар коров, которые могут подружиться, согласно предложенному решению?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет