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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2017, 12:09   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от kim-im Посмотреть сообщение
А как записать для моего случая (моего кода программы)
<i-я ступенька битая>
зачем Вам писать "для своего случая", когда Вам уже выложили ПОЛНОСТЬЮ РАБОЧУЮ программу?

нужно только считать исходную строку, где заданы сломанные ступеньки, и проверять i на вхождение в эту строку.
Это можно сделать разными способами. начиная с разбора строки и записи ячеек в массив и заканчивая хакерским поиском строкового представления i в заданной строке.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.11.2017, 11:19   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

можно попробовать проверить на вашем сайте такой код:

Код:
var
  n,k,i,j:integer;
  br:array[1..60] of integer;
  a,b,c,d : int64;
  fl : boolean;
begin
  read(n);
  read(k);
  ReadLn;
  for j:=1 to k do read(br[j]);

  a:=0; b:=0; c:=1;
  for i:=1 to n do begin
     d:= a+b+c;

     {// if <i-я ступенька битая> then d:=0;}
     fl:=false;
     for j:=1 to k do if br[j]=i then begin fl:=true; Break end;
     if fl then d:=0;

     a:=b; b:=c; c:=d;
  end;
  if c=0 then WriteLn(-1) else writeLn(c);

end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.11.2017, 11:27   #13
kim-im
Пользователь
 
Регистрация: 07.11.2017
Сообщений: 42
По умолчанию

Большое спасибо. Все работает.
kim-im вне форума Ответить с цитированием
Старый 15.11.2017, 11:34   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Пожалуйста.

Но это не мне спасибо.
Решение (гениальное, по моему личному мнению) предложил Black Fregat в пост #6
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск