Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.03.2011, 15:29
Новичок

Отправить личное сообщение для maksatktl Посмотреть профиль Найти все сообщения от maksatktl
 
Регистрация: 30.03.2011
Сообщений: 7

Лифт
В доме Вилли установили скоростной лифт новой экспериментальной модели. В этом лифте кнопки с номерами этажей заменены двумя другими кнопками. При нажатии на первую кнопку лифт поднимается на один этаж вверх, а при нажатии на вторую – опускается на один этаж вниз.

Младшему брату Вилли Дилли очень нравится кататься на новом лифте. Он катается на нём до тех пор, пока не побывает на каждом из этажей хотя бы по одному разу. После этого Дилли довольный возвращается домой.

Зная порядок, в котором Дилли нажимал на кнопки лифта, попробуйте определить общее количество этажей в доме Вилли и Дилли.

Входные данные

Первая строка входного файла INPUT.TXT содержит последовательность нажатий на кнопки лифта. Символ «1» означает, что была нажата первая кнопка, а символ «2» – что была нажата вторая кнопка. Символы «1» и «2» не разделены пробелами. Количество нажатий не превосходит 100. Гарантируется, что лифт никогда не опускался ниже первого и не поднимался выше последнего этажа.

Выходные данные

В выходной файл OUTPUT.TXT следует вывести одно число – количество этажей в доме Вилли и Дилли.

Примеры

№ INPUT.TXT OUTPUT.TXT
1 11 3
2 21212 2
3 1221221221221 6
daite rewenie PLZ!!!!!!!!!!
ishodnuk: http://acmp.ru/index.asp?main=task&id_task=336

Последний раз редактировалось maksatktl, 30.03.2011 в 15:32.
  #2  
Старый 30.03.2011, 15:52
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

Ну неужели никаких своих идей нет?
Задача абсолютно примитивная.
  #3  
Старый 31.03.2011, 19:34
гость!!

 
Сообщений: n/a

var s:string;
a:array[1..1000] of longint;
n,i,b:longint;
begin
assign(input,'input.txt');reset(input);
assign(output,'output.txt');rewrite(output);
read(s);
for i:=1 to 201 do
a[i]:=0;
b:=100;n:=0;
a[b]:=1;
for i:=1 to length(s) do begin
if s[i]='1' then begin a[b+1]:=1;b:=b+1;end;
if s[i]='2' then begin a[b-1]:=1;b:=b-1;end;
end;
for i:=1 to 201 do
if a[i]=1 then n:=n+1;
write(n);
close(output);
end.
  #4  
Старый 31.03.2011, 23:21
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

Однако массив a - не нужен.
  #5  
Старый 02.04.2011, 10:38
Новичок

Отправить личное сообщение для maksatktl Посмотреть профиль Найти все сообщения от maksatktl
 
Регистрация: 30.03.2011
Сообщений: 7

kinte norm reolizatsiy prosto ya ne mogu peredelat v pascale
ya na c++ rewauyu tolko 3 mes u4u!!!string malo znauyu
pomogite mne mojno i na c++ i pascale!!!
SPS...
  #6  
Старый 02.04.2011, 10:39
Новичок

Отправить личное сообщение для maksatktl Посмотреть профиль Найти все сообщения от maksatktl
 
Регистрация: 30.03.2011
Сообщений: 7

var s:string;
a:array[1..1000] of longint;
n,i,b:longint;
begin
assign(input,'input.txt');reset(input);
assign(output,'output.txt');rewrite(output);
read(s);
for i:=1 to 201 do
a[i]:=0;
b:=100;n:=0;
a[b]:=1;
for i:=1 to length(s) do begin
if s[i]='1' then begin a[b+1]:=1;b:=b+1;end;
if s[i]='2' then begin a[b-1]:=1;b:=b-1;end;
end;
for i:=1 to 201 do
if a[i]=1 then n:=n+1;
write(n);
close(output);
end.

kak ee peredelat???
HELP
 


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

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лифт гость Задачи 2 06.09.2008 00:32