|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.03.2013, 07:34 | #1 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Геометрическая задача
Утро Доброе
Вчера на информатике, когда весь класс проходил Write, мне дали решать задачки на различные темы. И если с простыми числами-близнецами, с совершенными числами, etc я справился в легкую, одно ужасно простая задача выбила меня из рабочей калии. Собственно задача : Есть пол, размером N на M. И есть квадратики со стороной K. Каким наименьшим кол-вом квадратиков можно покрыть пол? Сначала я пытался нахимичить с DIV и MOD. Затем я решил, поняв что времени у меня мало, и вывести обобщенную формулу у меня не получится, я загнал всё в матрицу. В состоянии аффекта, задачу я не решил, придя же домой нашел у себя ошибку.. Программа, вроде, работает, но решать относительно простую задачу с помощью двух мерных массивов - перебор! Поэтому не подскажете ли Вы более красивое решение ? Мое решение : Код:
|
20.03.2013, 08:03 | #2 | |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
Общую площадь на площадь квадрата делить не пробовал? Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 20.03.2013 в 08:11. |
|
20.03.2013, 08:30 | #3 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Код:
Правильно поставленная задача - три четверти решения.
|
|
20.03.2013, 08:56 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
думаю, что некоторые квадраты можно класть друг на друга "в нахлёст" (иначе задачу невозможно решить, например, для пола размером 5 x 5 и плиткой K=3
если покрытие допускается, тогда всё просто: Код:
p.s. ну и разумеется, если плитку можно (нужно) резать - тогда это решение не подходит! Но об этом же должно быть сказано в условии! |
20.03.2013, 09:28 | #5 | |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
|
20.03.2013, 09:34 | #6 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
В условии всё предельно ясно сказано:
Цитата:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
20.03.2013, 10:31 | #7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Вообще-то здесь просто нужна функция, округляющая по избытку. В математической библиотеке Паскаля такая может быть под названием Ceil.
В целых числах вместо Код:
Код:
взять eps, где eps > 0 - малая величина. Ну и дополнить преобразованием типа Код:
|
20.03.2013, 15:04 | #8 | |||||
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Огромное спасибо!! |
|||||
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Геометрическая задача (C++) | Day Stiff | Фриланс | 4 | 12.07.2012 12:50 |
геометрическая задача | zaur.bat | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 13.02.2012 19:39 |
С++. Геометрическая задача. | student71 | Помощь студентам | 0 | 11.05.2011 01:28 |
Геометрическая задача С++ | bloo[d] | Общие вопросы C/C++ | 9 | 30.01.2008 18:27 |