СРОЧНО ПЛИИИИИЗ!!!! ДАЮ 75 Баллов Pascal ABCАлексей готов к финишной стадии

Безотлагательно ПЛИИИИИЗ!!!! ДАЮ 75 Баллов
Pascal ABC
Алексей готов к финальной стадии собственного проекта! Он желает выяснить, сколько людей имеют номер телефона с зеркальной долею. Содержащими зеркальную часть, Алексей считает такие номера, в которых можно найти последовательность цифр w-x-y-y-x-w, или x-y-y-x (при этом w, x, y не одинаковы друг другу, по другому номер прекрасным не считается!)


К примеру, 4123321 последовательность с зеркальной частью, а 1234321 нет. Помогите статистику Алексею провести это важное исследование и узнать, какое количество номеров среди представленных содержат зеркальную часть.


Формат входных данных


В первой строке вводится N (0 lt; N lt; 100) - количество номеров. В последующей строке вводится N чисел разрядностью от 5 до девяти символов.


Формат выходных данных

Выведите количество номеров, у которых есть зеркальная часть.

Образцы:


входные данные

6
345284482 7658668 74554766 76133145 837567 923342


выходные данные

4

Задать свой вопрос
1 ответ

Для решения задачки с Вашими входными данными подходит, но может быть ошибка с иными данными, о которых я не подумал.

Var a:array [1..9] of integer;

i,n,q,u,o,p,y:integer;

begin

read (n);

For i:=1 to n do begin

read (u);

q:=u;

while qlt;gt;0 do begin

p:=p+1;

q:=q div 10;

end;

q:=u;

For o:=1 to p do begin

a[o]:=q mod 10;

q:=q div 10;

end;

For o:=3 to p do

If (a[o]=a[o-1]) and (ogt;2) and (a[o+1]=a[o-2]) and (a[o]lt;gt;a[o+1]) and (plt;gt;4) then y:=y+1 else

If (pgt;6) and (a[o]=a[o-1]) and (ogt;3) and (a[o+1]=a[o-2]) and (a[o+2]=a[o-3]) and (a[o]lt;gt;a[o+1]) and (a[o+1]lt;gt;a[o+2]) and (a[o]lt;gt;a[o+2]) and (plt;gt;6) then y:=y+1;

For o:=1 to p do

a[o]:=-1;

p:=0;

end;

write (y);

end.

Ева Таничева
К раскаянию "безотлагательно" решить не вышло. Как увидел - так решил, заняло минут 15-25(
Cepkin Danil
var i,j,n,m,nmb,k,cnt: integer; s: string; ch: char;begin readln(n); cnt:=0; for i:=1 to n do begin read(nmb); s:=IntToStr(nmb); for j:=1 to length(s)-3 do begin ch:=s[j]; s[j]:='*'; k:=Pos(ch,s); if (k=j+3) or (k=j+5) then begin m:=j+1; while (k>0) and (m begin ch:=s[m]; s[m]:='*'; k:=Pos(ch,s); m:=m+1; end; if k=m then cnt:=cnt+1; end; end; end; writeln(cnt);end.
Hodeeva Tamara
6345284482 7658668 74554766 76133145 837567 9233424
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт