Номера автобусов
(Время: 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')
}
|