Мне не видна картинка «авоська видит коробку сбоку так». Пожалуйста, пришлите изображение или опишите, какие клетки видны с трёх сторон (каждая сторона — это поле 3×3, где в некоторых клетках стоит «видна конфета», в других — пусто). Тогда я точно скажу, сколько конфет мог положить Тюбик.
Пока объясню общий метод — как решать такие задачи шаг за шагом (как учитель для 5-го класса):
- Понять проекции. Обозначим трёхмерную коробку клетками с координатами (i, j, k), где i = строка (1..3), j = столбец (1..3), k = глубина (1..3). Каждая сторона даёт проекцию: например,
- P_xy(i,j) — видно ли с передней стороны в клетке (i,j) хотя бы одну конфету (т. е. есть ли k с конфетой в (i,j,k));
- P_xz(i,k) — видно ли с верхней стороны в позиции (i,k) хотя бы одну конфету (есть ли j с конфетой в (i,j,k));
- P_yz(j,k) — видно ли с боковой стороны в позиции (j,k) хотя бы одну конфету (есть ли i с конфетой в (i,j,k)).
- Условие допустимости клетки. Конфету в конкретную клетку (i,j,k) поставить можно только если во всех трёх соответствующих проекциях стоят «видно»:
P_xy(i,j) = 1, P_xz(i,k) = 1 и P_yz(j,k) = 1.
Если хотя бы в одной проекции в соответствующей позиции стоит 0 (пусто), то в этой клетке конфету поставить нельзя — потому что тогда в этой проекции появится лишняя видимая конфета, чего быть не должно.
- Как получить максимум. Чтобы получить максимально возможное количество конфет, мы заполняем все клетки, которые допустимы по предыдущему правилу. Каждая такая заполненная клетка не противоречит ни одной из проекций (проекции говорят лишь о наличии хотя бы одной конфеты в линии; добавить ещё — не запрещено). Значит, максимум — это число всех троек (i,j,k), для которых одновременно P_xy(i,j)=P_xz(i,k)=P_yz(j,k)=1.
- Формула (для понимания). Максимальное число конфет = сумма по всем i,j,k от 1 до 3 продукта P_xy(i,j) * P_xz(i,k) * P_yz(j,k). На практике вы просто проверяете для каждой из 27 клеток, разрешена ли она, и считаете разрешённые.
Пример для наглядности: если все три проекции полностью заполнены (в каждой из 9 клеток видна конфета), то для любой тройки (i,j,k) все три проекции дают 1, и можно положить 27 конфет — вся коробка заполнена.
Отправьте, пожалуйста, три вида (или картинку), и я по шагам найду именно число для вашей задачи.