26.11.2012, 18:20 | #1 (permalink) |
Member
Регистрация: 21.11.2011
Сообщений: 56
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помощь в комментах
Насытив свой желудок, Петя вернулся в комнату и обнаружил, что его творение сдуло ветром на пол. Сначала он обеспокоился тем, в порядке ли рисунок, но удостоверившись, что все нормально, не стал спешить и поднимать план с пола. Он вспомнил слова учителя географии, который в конце урока поведал им некое нетривиальное утверждение и предложил любопытным проверить его на досуге. Утверждение гласило: "если взять две карты одной и той же области, сделанные с разным масштабом, и расположить меньшую поверх большей так, что меньшая карта окажется строго внутри большей, то можно найти такую точку (она называется "неподвижная точка"), что то, что изображено в этой точке на обеих картах соответствует одной и той же точке местности". Петя заметил, что пол комнаты можно считать картой комнаты (масштаб 1:1). Он решил найти неподвижную точку для лежащего на полу нарисованного им плана и пола. Но Петя не сумел сделать это самостоятельно, поэтому он обратился к вам за помощью. Формат входных данных Комната Пети и ее план имеют форму прямоугольника. Первая строка входного файла содержит два вещественных числа: ширину X и длину Y комнаты Пети (1X1000, 1Y1000). Комната расположена в декартовой прямоугольной системе координат так, что углы комнаты расположены в точках с координатами (0,0), (X,0), (X,Y), (0,Y). Вторая строка содержит восемь вещественных чисел, описывающих положение углов плана комнаты в той же самой системе координат. Сначала задаются координаты того угла плана, который соответствует углу комнаты с координатами (0,0), затем — (X,0), (X,Y), наконец, (0,Y). Гарантируется, что входные данные корректны, то есть план является прямоугольником, линейные размеры плана находятся в полном соответствии с линейными размерами комнаты, план не выходит за границы комнаты. Все числа во входном файле вещественные, заданы с точностью 5 знаков после десятичной точки. План выполнен в масштабе не менее 0.0001 и не более 1. Масштаб не может быть равен 1. Карта расположена лицевой стороной вверх Формат выходных данных В первую строку выходного файла выведите 2 вещественных числа — координаты неподвижной точки плана и пола. Ответ нужно выдать с 3 знаками после десятичной точки. Пример Вход: 10.00000 5.00000 3.00000 2.50000 1.00000 2.50000 1.00000 1.50000 3.00000 1.50000 Выход: 2.500 2.083 program zzz; var a1,b1,c1,a2,b2,c2,xx,yy,x1,y1,x2,y2,x3,y3,x4,y4,dd ,xa,ya: Extended; begin assign(input,'i.in'); reset(input); assign(output,'i.out'); rewrite(output); read(xx,yy,x1,y1,x2,y2,x3,y3,x4,y4); a1 := x2 - x1 - xx; b1 := x4 - x1; c1 := x1; a2 := y2 - y1; b2 := y4 - y1 - yy; c2 := y1; dd := (a1*b2-a2*b1); ya := (c1*a2-c2*a1)/dd; xa := (b1*c2-b2*c1)/dd; xa := xa * xx; ya := ya * yy; writeln(xa:0:3,' ',ya:0:3); close(input); close(output); end. |
26.11.2012, 18:20 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Дам вам похожие обсуждения, они должны вам пригодиться Помощь с БП от ПК Помощь в Паскале |
27.11.2012, 07:42 | #5 (permalink) |
Member
Регистрация: 21.11.2011
Сообщений: 56
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Благодарю!!!!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|