Огненный Круг, Задача на Геометрию |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Огненный Круг, Задача на Геометрию |
Perfez |
Сообщение
#1
|
Бывалый Группа: Пользователи Сообщений: 231 Пол: Женский Репутация: 6 |
Важно:Сразу прошу вас не пишите готовую программу ,а только объясните сам алгоритм в кратце:
Это задача с онлайн :http://acm.timus.ru/problem.aspx?space=1&num=1490 Лич Сандро проводит свои научные исследования в магии огня. Сандро стоит в центре огромного квадратного зала площадью 1000000 квадратных километров, сплошь замощённого квадратными каменными плитами со стороной один метр. По взмаху посоха вокруг Сандро возникает огненный круг радиуса R метров. Центр круга совпадает с центром зала и находится в месте соприкосновения 4-х плит. Сандро хочет посчитать, сколько плит будет испорчено огнем. Считается, что плита испорчена, если она имеет хотя бы две общие точки с кругом. На рисунке в качестве примера изображены плиты, испорченные огненным кругом радиуса 4: Исходные данные В единственной строке записано целое число R > 0 — радиус огненного круга. R не превосходит 10^5. Результат Выведите целое число — количество испорченных плит. Примеры: 2-16 4-60 Сообщение отредактировано: Perfez - Эскизы прикрепленных изображений |
volvo |
Сообщение
#2
|
Гость |
Цитата(Lapp) Я засабмитил туда этот вариант (с longint) - и все прошло... Очень, кстати, странно... Смотри: Цитата(RTL.pdf) 29.9.479 sqr То есть, вызывается версия , получающая и возвращающая LongInt... Смотрим дальше:Synopsis: Calculate the square of a value. Declaration: function sqr(l: LongInt) : LongInt function sqr(l: Int64) : Int64 function sqr(l: QWord) : QWord function sqr(d: ValReal) : ValReal Visibility: default Description: Sqr returns the square of its argument X. Errors: None. Цитата(REF.pdf) Table 3.2: Predefined integer types , из чего следует, что при R > 46340 результат в LongInt не поместится... Сбой налицо... Возможно, тебе просто повезло, и значения больше приведенного мной не передавались для теста твоей программе...Type Range Size in bytes Byte 0 .. 255 1 Shortint -128 .. 127 1 Smallint -32768 .. 32767 2 Word 0 .. 65535 2 Integer either smallint, longint or int64 size 2,4 or 8 Cardinal either word, longword or qword size 2,4 or 8 Longint -2147483648 .. 2147483647 4 Longword 0..4294967295 4 Int64 -9223372036854775808 .. 9223372036854775807 8 QWord 0 .. 18446744073709551615 8 После смены типа на Int64 программа будет работать с любыми заявленными в задании значениями... |
Lapp |
Сообщение
#3
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Очень, кстати, странно... Смотри: .. Возможно, .. значения больше приведенного мной не передавались для теста твоей программе... Действительно странно.. По условию - размер зала миллион на миллион метров.. Но я не думаю, что там случайным образом выбираются тесты. Кроме того, я прогнал еще раз - снова Ок. Похоже на ошибку. Надо бы глянуть на условия на этом сайте.. Есть там что-то по синтаксису и т.п.? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 28.04.2024 19:14 |