Решения задач acmp.ru
Главная
Вход
Регистрация
Вторник, 29.09.2020, 02:26Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Pascal [121]
C++ [76]

Поиск

Мини-чат
200

Легкий заработок!

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Файлы » Pascal

0351 Прыжки по буквам

Скачать файл можно после просмотра рекламы:

04.06.2012, 18:23
var
n, k, i, min : longint;
c, v, v1 : char;
S, M : array ['A'..'Z'] of longint;
begin
assign(input,'input.txt'); reset(input);
assign(output,'output.txt'); rewrite(output);
readln(n,k);
read(v1);
for c:='A' to 'Z' do begin S[c]:=0; M[c]:=maxlongint end;
for i:=2 to k+1 do
begin
read(v);
if v1=v then M[v]:=0 else M[v]:=1;
S[v]:=i
end;
for i:=k+2 to n do
begin
read(v);
min:=M[v]; v1:=v;
for c:='A' to 'Z' do
if M[c]<min then begin min:=M[c]; v1:=c end;
if v<>v1 then min:=min+1;
M[v]:=min; S[v]:=i;
for c:='A' to 'Z' do
if S[c]+k=i then begin S[c]:=0; M[c]:=maxlongint end;
end;
write(M[v])
end.
Категория: Pascal | Добавил: shum
Просмотров: 1595 | Загрузок: 1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Это интересно!


Copyright MyCorp © 2020