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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2013, 16:49   #1
Николай Сергеев
 
Регистрация: 20.11.2013
Сообщений: 4
По умолчанию Посчитать время, за которое лыжник пройдет путь

Я решал олимпиадную задачу на паскале. Вот условие:
Лыжник катается по снежному полю. Его передвижения можно описать строкой из символов 'S', 'N', 'W', 'E' (что соответствует перемещениям на 1 метр в направлении юга, севера, запада или востока соответственно). Известно, что если он прокладывает лыжню, то есть катится по ранее не посещенному отрезку пути, то время такого передвижения равно 5 с, а если он катится по лыжне, то 1 с. Найдите время лыжника в пути.
Входные данные
В первой строке входного файла содержится непустая строка из символов 'S', 'N', 'W', 'E'. Длина строки не превосходит 100 символов.
Выходные данные
файл должен содержать одно число - время в секундах лыжника в пути.
Вот мой код:
Код:
 
var 
  x,y:array[0..100] of longint;
  n,i,j,k:longint;
  s:string;
begin
assign(input,'input.txt');
assign(output,'output.txt');
reset(input);
rewrite(output);
 readln(s);
 n:=length(s);
 for i:=1 to n do
   begin
   y[i]:=y[i-1];x[i]:=x[i-1];
   if s[i]='N' then inc(y[i])
     else if s[i]='S' then dec(y[i])
       else if s[i]='W' then dec(x[i])
         else inc(x[i]);
   for j:=0 to i-1 do
     if (x[i]=x[j]) and (y[i]=y[j]) then break;
   if (x[i]=x[j]) and (y[i]=y[j]) then k:=k+1
     else k:=k+5;
   end;
 writeln(k);
close(input);
close(output);
end.
На тестировании проходит не все тесты. Помогите мне найти ошибку, пожалуйста, а то нужно уже сдавать.
Николай Сергеев вне форума Ответить с цитированием
Старый 29.11.2013, 17:43   #2
Николай Сергеев
 
Регистрация: 20.11.2013
Сообщений: 4
По умолчанию

Тесты из условия такие:
ввод WWEN - вывод 16
ввод WWEE - вывод 12
Эта программа тесты из условия проходит. Помогите, пожалуйста!
Николай Сергеев вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создайте приложение, которое бы выдавало в бегущей строке текущее время и дату. MonaxVali Помощь студентам 1 04.02.2013 17:40
Нужно вывести время за которое выполнилась программа. Rennek Общие вопросы C/C++ 2 01.10.2011 21:31
как сощитать время, которое написанно в текставом формате? Iceman Microsoft Office Access 2 13.01.2010 11:46
Посчитать время выполнения процедуры SeЯgey Помощь студентам 1 24.05.2009 18:38
Как создать событие(которое выполняется в определённое время) micaell Общие вопросы Delphi 5 13.12.2006 18:35