Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Номера автобусов

(Время: 1 сек. Память: 16 Мб Сложность: 16%)

Это достаточно простая задача на разбор строк. Здесь нужно считать из входных данных последовательность строк и сопоставить каждую из них представленным в задаче критериям, т.е. проверить то, что длина строки равна 6, и убедиться в том, что символы со 2-го по 4-й являются цифрами, а остальные принадлежат описанному набору символов. При решении удобно реализовать две функции, возвращающие логические значения:

Ltr(c) - функция, определяющая: является ли символ c буквой для обозначения 1й, 5й и 6й позиции номера;

Dig(c) - функция, определяющая: является ли символ c цифрой.

При использовании вышеописанных функций реализация решения данной задачи сводится к следующему алгоритму:

  read(n)
  for i=1..n{
    readln(s)
    if(len(s)=6 and Ltr(s[1]) and Dig(s[2]) and Dig(s[3]) and Dig(s[4]) and Ltr(s[5]) and Ltr(s[6])) 
      writeln('Yes'); else writeln('No')
  }

[Обсуждение] [Все попытки] [Задача]


Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru