Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки

HotLog


 
Вернуться
Тема: 1206
1
  1  Терентьев Михаил Павлович, 10 ноября 2021 г. 17:14:38
      Площадь x*y, периметр 2(x+y). Из условия задачи, a<=x*y<=b, c<=2(x+y)<=d. Говорится, что прямоугольники x*y и y*x считаются одинаковыми. Для определенности будем считать, что x<=y. Идея заключается в том, чтобы перебирать допустимые целочисленные значения x, а по фиксированному значению x найти диапазон целочисленных значений по y, исходя из системы неравенств. Дальше можно заметить, что если x > sqrt(b), то x*x > b, что противоречит условию x*x <= x*y <= b. Таким образом, перебирать x нужно в диапазоне [1; sqrt(b)].
  2  Черепанв Иван це эс шст шст пят сбк пе эм тчк эм е, 09 ноября 2021 г. 23:49:54
      Рассмотрим область, удовлетворяющую условию в координатах длин сторон. Ограничения по площади -- это гиперболы. Ограничения по периметру - это пара параллельных линий с наклоном -1. Нужно посчитать число точек в этой области. Это можно сделать обходя область по границе.

Однако удобнее перейти к сумме и разности сторон. Тогда ограничения на периметер станут совсем простыми, и считать придется меньше.
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2022, E-mail: admin@acmp.ru