|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.01.2007, 11:50 | #1 |
Регистрация: 18.01.2007
Сообщений: 4
|
Помогите решить задачу, плиз
Почтальон развозит почту по участку прямоугольной формы(размеры:Lx на Ly). Почта находится в начале координат. Он ездит вдоль оси Ох и вдоль оси Оу. Он должен разнести почту в N домов. В каждом доме он задерживается на Т0 времени. Вдоль оси Ох почтальон ездит со скоростью Vx. Вдоль оси Оу - Vy. Даны координаты домов (от x1;y1 до x(n);y(n)). 0<=x(i)<=Lx, 0<=Y(i)<=Ly. Во входном файле даны Lx Ly N и координаты домов
|
18.01.2007, 12:01 | #2 |
Форумчанин
Регистрация: 30.11.2006
Сообщений: 128
|
Вопрос в чём? Посчитать скока времени это займёт? Надо ли выбирать оптимальный путь или это роли не играет(просто это очень сильно усложняет задачу)?
nosce te ipsumj...
Последний раз редактировалось Prowler; 18.01.2007 в 13:12. |
19.01.2007, 07:50 | #3 |
Форумчанин
Регистрация: 30.11.2006
Сообщений: 128
|
Без поиска кротчайшего пути, а просто по координатам это выглядит так(для простоты многие типы целые...):
type coord=record x:integer; y:integer; end; var nowcoord,newcoord:coord; perem: array[0..2] of integer; Vx,Vy,i:integer; sumtime,t0:real; tfile:text; nfile:string; begin write('Введите имя файла: '); readln(nfile); assign(tfile,nfile); reset(tfile); for i:=0 to 2 do read(tfile,perem[i]); write('Введите t0: '); readln(t0); write('Введите скорость движения по оси Vx: '); readln(Vx); write('Введите скорость движения по оси Vy: '); readln(Vy); nowcoord.x:=0; nowcoord.y:=0; sumtime:=0; for i:=1 to (perem[0]-1) do begin write('Введите x: '); read(newcoord.x); write('Введите y: '); read(newcoord.y); sumtime:=sumtime+t0+(abs(newcoord.x-nowcoord.x)/Vx)+(abs(newcoord.y-nowcoord.y)/Vy); nowcoord.x:=newcoord.x; nowcoord.y:=newcoord.y; end; writeln; write('Всего нужно обойти ',perem[0],' домов, находясь в каждом доме по ',t0,'. Всего это займёт: ',sumtime ); readln; end.
nosce te ipsumj...
Последний раз редактировалось Prowler; 19.01.2007 в 08:37. |
19.01.2007, 09:54 | #4 |
Форумчанин
Регистрация: 30.11.2006
Сообщений: 128
|
...ой я забыл проверку сделать, чтобы вводимы координаты не выходили за пределы заданной области. Ну я думаю ты сама с этим справишься!
nosce te ipsumj...
|
19.01.2007, 13:35 | #5 |
Регистрация: 18.01.2007
Сообщений: 4
|
Нужно найти минимальное время. В выходном файле должно быть TMIN. Извините что забыла задать вопрос.
|
19.01.2007, 14:17 | #6 |
Форумчанин
Регистрация: 30.11.2006
Сообщений: 128
|
Минимальное время чего? Между двумя домами? В остальном правильно?
nosce te ipsumj...
|
19.01.2007, 14:33 | #7 |
Регистрация: 18.01.2007
Сообщений: 4
|
Да не между двумя домами. Домов N , а N задается во входном файле
|
19.01.2007, 14:44 | #8 |
Форумчанин
Регистрация: 30.11.2006
Сообщений: 128
|
Я понял, что домов N. Не понятен вопрос? Минимальное время чего?
В каждом доме он проводит постоянное T0 время. Только на дарогу тратися разное время т.к. из задачи по оси X и Y он ездит с разной скорость. Напиши конкретно вопрос(по-русски!) задачи. Или слово в слово перепиши задачу! Срок?
nosce te ipsumj...
Последний раз редактировалось Prowler; 19.01.2007 в 20:19. |
19.01.2007, 15:38 | #9 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
задача похожа на олипиадную ...
Берегите друг друга!
|
20.01.2007, 12:08 | #10 |
Регистрация: 18.01.2007
Сообщений: 4
|
Какая олимпиада. Сессия на носу. Почтальон должен пройти оптимальный путь. Но нужно найти просто не путь, а минимальное время, за которое пачтальон разнесет почту во все дома. Vx и Vy постоянны. Нужно сделать до воскресения.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите плиз задачу по Delphi зделать | Mawerik | Помощь студентам | 3 | 27.06.2008 08:24 |
Помогите решить массив. плиз. | exeexeexe | Microsoft Office Excel | 1 | 29.02.2008 13:12 |