Pascal ABC

 

ГЛАВНАЯ
ССЫЛКИ
ОЛИМПИАДНЫЕ ЗАДАНИЯ
Очень простые

Проблема с A и B

Трамвайные билеты

Шифр Цезаря

Четные и нечетные члены последовательности

"Мы вас упакуем!"

Простые

Равновеликие прямоугольники

Скобки

 

Уравнение

 

Вирусы

 

КВН

 

Коррекция кода

 

Степень

 

Демократия в опасности

 

Пуговицы

 

A to B

 

Палиндромы

 

Почти Крэг Туми

 

Виза

 

Ездец

 
Средней сложности  

MIME64

 

Куль хацкеры

 

Редкое имя

 

Города

 

Исправления

 

Банки

 

2^n

 

Ниточка

 

Массивище

 

Знакомые

 

Считаем кораблики

Лошадью ходи!

Левые повороты

Прицельное метание помидор

Анаграммы

Треугольник

Принцип компании

Уникальная строка

Конфуз

K-ичные числа

Михаил Густокашин против бюрократии

Агенты

Игра в слова

Сложные

Диски

Домино

Монеты

Программистика

Хитрющая строка

Робот-сапер

Квадраты

Упаковка простых

Оппозиция

 

Замок

 

Многоугольники

 

Электронные часы

 

Дождик

 

Черепаха

 

Метро

 

Террористы

 

Школы

 
Очень сложные/особо интересные  

Система Защиты

 

Бизнес-классики

 

Телеметрия

 

Лесной пожар

 

Олимпиада

 

Автобусный диспетчер

 

 Кубики

 

Электронная почта

 

Автобус

 

 

 

 

ОЛИМПИАДНЫЕ ЗАДАНИЯ

Олимпиадные задачи с рекомендациями к решениям

Задача 16: Палиндромы

Дана последовательность символов s1, s2, ..., sn, 1 <= n <= 200, si либо является пробелом, либо принадлежит множеству {A,B,...,Z,a,b,...,z}. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Палиндромом назовем такое слово s1, s2, ..., sk, что s1 = sk, s2 = sk-1, s3 = sk-2, ..., k <= 30, при этом учитывается регистр символов, т.е. A <> a.
Найти количество символов, содержащихся в самом длинном палиндроме.

Формат входных данных
Входной файл INPUT.TXT содержит в первой строке целое число n. Во второй строке идет последовательность символов s1, s2, ..., sn.

Пример:
asDFr rtYUUYtr KLOPF vccv

Формат выходных данных
Выходной файл OUTPUT.TXT должен содержать количество символов, содержащихся в самом длинном палиндроме, если исходная последовательность не содержит ни одного палиндрома, файл должен содержать цифру 0 (нуль).

Пример:
8

Решение:
Опять простая задача :(
Инициализируем максимальную длину палиндрома нулем. Читаем символ, если он не пробел, то добавляем к строке, если пробел - проверяем является ли строка палиндромом, а затем обнуляем эту строку.
Как проверять, является ли строка палиндромом? Очень просто. Заводим цикл от 1 до половины длины строки. Проверяем, если S[k] <> S[length(S)+1-k] - тогда строка не палиндром. Если строка оказалась палиндромом, то проверяем, если length(S) > max(максимальное кол-во букв в палиндроме), то max := length(S).
В конце просто выводим max (если палиндромов не было, то max = 0, так мы его инициализировали).


Далее ð





 


 

 

 
 

СЕРВИС

Copyright © 2008 СОШ №2 им. Н.П. Массонова г.Свислочь © Синица А.А.