Дана прямоугольная клеточная доска размера M ×N клеток. Также дано неограниченное коли-
чество стандартных доминошек размера 2 × 1 клетку. Доминошки можно поворачивать. Требуется
уложить как можно больше доминошек на доску так, чтобы соблюдались следующие условия:
1. Каждая доминошка полностью покрывает две клетки доски.
2. Никакие две доминошки не перекрываются.
3. Каждая доминошка полностью лежит внутри доски. Касание краев доски допускается.
Найдите максимальное количество доминошек, которое можно уложить с данными ограничени-
ями.
Формат входных данных
В единственной строке записано два целых числа M и N — размеры доски в клетках
(1 ⩽ M ⩽ N ⩽ 16).
Формат выходных данных
Выведите одно число — максимальное количество доминошек, которое можно уложить.
ЯЗЫК С++ , ВЫПОЛНЯЕТСЯ С ПОМОЩЬЮ LONG LONG В ПРИЛОЖЕНИИ Code : : Bloks

15 Июн 2019 в 19:44
577 +1
0
Ответы
1
include

using namespace std;

int main() {
int M, N;
cin >> M >> N;

// Максимальное количество доминошек зависит от количества клеток
// В случае, если общее количество клеток делится на 2, максимальное количество доминошек равно половине от общего количества клеток
// Иначе, максимальное количество доминошек равно половине от общего количества клеток минус один
cout << M * N / 2 << endl;
return 0;

}

21 Апр в 01:03
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир