Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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
Prowler
Форумчанин
 
Регистрация: 30.11.2006
Сообщений: 128
По умолчанию

Вопрос в чём? Посчитать скока времени это займёт? Надо ли выбирать оптимальный путь или это роли не играет(просто это очень сильно усложняет задачу)?
nosce te ipsumj...

Последний раз редактировалось Prowler; 18.01.2007 в 13:12.
Prowler вне форума Ответить с цитированием
Старый 19.01.2007, 07:50   #3
Prowler
Форумчанин
 
Регистрация: 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.
Prowler вне форума Ответить с цитированием
Старый 19.01.2007, 09:54   #4
Prowler
Форумчанин
 
Регистрация: 30.11.2006
Сообщений: 128
По умолчанию

...ой я забыл проверку сделать, чтобы вводимы координаты не выходили за пределы заданной области. Ну я думаю ты сама с этим справишься!
nosce te ipsumj...
Prowler вне форума Ответить с цитированием
Старый 19.01.2007, 13:35   #5
Люда
 
Регистрация: 18.01.2007
Сообщений: 4
По умолчанию

Нужно найти минимальное время. В выходном файле должно быть TMIN. Извините что забыла задать вопрос.
Люда вне форума Ответить с цитированием
Старый 19.01.2007, 14:17   #6
Prowler
Форумчанин
 
Регистрация: 30.11.2006
Сообщений: 128
По умолчанию

Минимальное время чего? Между двумя домами? В остальном правильно?
nosce te ipsumj...
Prowler вне форума Ответить с цитированием
Старый 19.01.2007, 14:33   #7
Люда
 
Регистрация: 18.01.2007
Сообщений: 4
По умолчанию

Да не между двумя домами. Домов N , а N задается во входном файле
Люда вне форума Ответить с цитированием
Старый 19.01.2007, 14:44   #8
Prowler
Форумчанин
 
Регистрация: 30.11.2006
Сообщений: 128
По умолчанию

Я понял, что домов N. Не понятен вопрос? Минимальное время чего?
В каждом доме он проводит постоянное T0 время. Только на дарогу тратися разное время т.к. из задачи по оси X и Y он ездит с разной скорость. Напиши конкретно вопрос(по-русски!) задачи. Или слово в слово перепиши задачу! Срок?
nosce te ipsumj...

Последний раз редактировалось Prowler; 19.01.2007 в 20:19.
Prowler вне форума Ответить с цитированием
Старый 19.01.2007, 15:38   #9
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

задача похожа на олипиадную ...
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 20.01.2007, 12:08   #10
Люда
 
Регистрация: 18.01.2007
Сообщений: 4
По умолчанию

Какая олимпиада. Сессия на носу. Почтальон должен пройти оптимальный путь. Но нужно найти просто не путь, а минимальное время, за которое пачтальон разнесет почту во все дома. Vx и Vy постоянны. Нужно сделать до воскресения.
Люда вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите плиз задачу по Delphi зделать Mawerik Помощь студентам 3 27.06.2008 08:24
Помогите решить массив. плиз. exeexeexe Microsoft Office Excel 1 29.02.2008 13:12