М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
atapinalidia577
atapinalidia577
15.08.2020 03:45 •  Информатика

Дана прямоугольная клеточная доска размера m ×n клеток. также дано неограниченное коли- чество стандартных доминошек размера 2 × 1 клетку. доминошки можно поворачивать. требуется уложить как можно больше доминошек на доску так, чтобы соблюдались следующие условия: 1. каждая доминошка полностью покрывает две клетки доски. 2. никакие две доминошки не перекрываются. 3. каждая доминошка полностью лежит внутри доски. касание краев доски допускается. найдите максимальное количество доминошек, которое можно уложить с данными ограничени- ями. формат входных данных в единственной строке записано два целых числа m и n — размеры доски в клетках (1 ⩽ m ⩽ n ⩽ 16). формат выходных данных выведите одно число — максимальное количество доминошек, которое можно уложить. язык с++ , выполняется с long long в приложении code : : bloks

👇
Открыть все ответы
Ответ:
iraapukhtina7
iraapukhtina7
15.08.2020
Без проверки полагаем, что по заданным координатам точек можно построить треугольники.

//PascalABC.Net 3.0, сборка 1111
type
  Point=record
  x,y:double
  end;

function TriangleSquare(A,B,C:Point):double;
begin
  Result:=0.5*abs(A.x*(B.y-C.y)+B.x*(C.y-A.y)+C.x*(A.y-B.y))
end;

procedure GetPoint(c:char; var A:Point);
begin
  Write('Введите координаты точки ',c,': ');
  Readln(A.x,A.y)
end;

var
  A:array['A'..'F'] of Point;
  i:'A'..'F';
  s1,s2:double;
begin
  for i:='A' to 'F' do GetPoint(i,A[i]);
  s1:=TriangleSquare(A['A'],A['B'],A['C']);
  s2:=TriangleSquare(A['D'],A['E'],A['F']);
  if s1>s2 then Writeln('Площадь первого треугольника больше')
  else
    if s2>s1 then Writeln('Площадь второго треугольника больше')
    else Writeln('Площади треугольников равны')
end.

Тестовое решение:
Введите координаты точки A: -4 3.7
Введите координаты точки B: -6.3 0
Введите координаты точки C: 10.2 5.93
Введите координаты точки D: 7.143 8.1
Введите координаты точки E: -6 -3
Введите координаты точки F: 7.4 -5.7
Площадь второго треугольника больше
4,8(90 оценок)
Ответ:
sofiya13031
sofiya13031
15.08.2020
Const heigth = 10
Const width = 10

Sub Ìàêðîñ1()
    Dim Sum(heigth - 1, width - 1)
    Dim Product(heigth - 1, width - 1)
    
    For i = 0 To heigth - 1
        For j = 0 To width - 1
            Sum(i, j) = i + j
            Product(i, j) = i * j
        Next j
    Next i
    
    Call Show(Sum, 0, 0)
    Call Show(Product, 0, 12)
End Sub

Sub Show(ByRef m, dx, dy)
    For i = 0 To heigth - 1
        For j = 0 To width - 1
            ActiveSheet.Cells(dx + i + 1, dy + j + 1).Value = Hex(m(i, j))
        Next j
    Next i
End Sub
4,6(7 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ