Стена покрыта квадратной плиткой со стороной m см. на стену повесили картину, известны координаты левого нижнего угла картины, её ширина и высота. определите количество плиток, которые оказались частично или полностью закрыты картиной.
первая строка входных данных содержит число m – сторону плитки. вторая и третья строки содержат числа x и y – координаты левого нижнего угла картины. четвёртая и пятая строки содержат числа w и h – ширину и высоту картины. ось ox направлена вправо, ось oy направлена вверх. левый нижний угол одной из плиток находится в начале координат. все числа целые, не превосходящие 2 × 10^9, числа m, w, h – положительные, числа x и y – положительные или равны 0.
программа должна вывести одно число – количество плиток, полностью или частично закрытых картиной. плитка считается закрытой картиной, если пересечение картины и плитки имеет ненулевую площадь, то есть касание картины и плитки не считается перекрытием.
пример:
ввод: 10, 15, 5, 35, 20
вывод: 12​

Елизавета1040 Елизавета1040    2   15.10.2019 09:50    108

Ответы
София9354 София9354  22.01.2024 11:54
Для решения задачи, нам необходимо определить количество плиток, которые оказались частично или полностью закрыты картиной.

Для начала, давайте разберемся с размерами стены. По условию, стена покрыта квадратными плитками со стороной m см. Это означает, что мы можем разделить стену на квадраты со стороной m.

Теперь, нам нужно определить, какие квадраты покрыты картиной. Для этого нам даны координаты левого нижнего угла картинки (x,y) и ее ширина и высота (w,h).

Для каждой плитки, мы проверяем, находится ли она полностью или частично внутри картинки. Если плитка находится внутри картинки, она будет закрыта. Также, если плитка пересекается с картиной, но не полностью находится внутри, мы также считаем ее закрытой.

Чтобы найти количество закрытых плиток, мы должны перебрать все возможные плитки на стене и проверить, находится ли каждая из них внутри или перекрывается ли с картинкой.

В нашем случае, плитка имеет сторону m см. Тогда, чтобы найти количество плиток вдоль горизонтальной оси (количество плиток по ширине), мы должны разделить ширину стены на m: количество_плиток_по_ширине = ширина_стены / m.

Аналогично, чтобы найти количество плиток вдоль вертикальной оси (количество плиток по высоте), мы должны разделить высоту стены на m: количество_плиток_по_высоте = высота_стены / m.

Итак, у нас есть количество плиток по ширине и по высоте. Чтобы найти общее количество плиток на стене, мы должны перемножить эти два значения: общее_количество_плиток = количество_плиток_по_ширине * количество_плиток_по_высоте.

Теперь, давайте перейдем к проверке каждой плитки на перекрытие с картиной.

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

Если правый край плитки (координата x + m) меньше левого края картинки (координата x), или левый край плитки (координата x) больше правого края картинки (координата x + w), то плитка не перекрывается с картиной по горизонтальной оси.

Аналогично, если верхний край плитки (координата y + m) меньше нижнего края картинки (координата y), или нижний край плитки (координата y) больше верхнего края картинки (координата y + h), то плитка не перекрывается с картиной по вертикальной оси.

Если плитка перекрывается полностью с картиной, то мы считаем ее закрытой и увеличиваем счетчик закрытых плиток на 1.

Если плитка перекрывается частично с картиной, то мы также считаем ее закрытой и увеличиваем счетчик закрытых плиток на 1.

После того, как мы проверили все плитки, мы имеем количество закрытых плиток. Это и будет ответом на задачу.

Надеюсь, данное подробное решение помогло разобраться в задаче и понять, как найти количество плиток, которые оказались частично или полностью закрыты картиной.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика