Задача A. Мутации

Автор:Н. Чистякова
Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Молекула ДНК состоит из двух переплетённых цепочек, каждая из которых состоит из повторяющихся блоков — нуклеотидов. Нуклеотиды, встречающиеся в ДНК, содержат в себе один из четырёх видов азотистых оснований: аденин (обозначается латинской буквой A), гуанин (G), тимин (T) или цитозин (C). Азотистые основания из одной цепочки соединяются с основаниями другой цепочки по принципу комплементарности: аденин — с тимином, гуанин — с цитозином.

Иногда в ДНК возникают мутации, нарушающие этот принцип: например, если в результате ошибки копирования одной из цепочек напротив аденина (A) окажется гуанин (G).

На вход программы подаётся фрагмент молекулы ДНК длины N. Программа должна подсчитать и вывести количество мутировавших пар в этом фрагменте.

Формат входного файла

Первая строка входного файла содержит целое число N, каждая из последующих N строк содержит пару заглавных букв латинского алфавита, разделённых пробелом.

Формат выходного файла

Выходной файл должен содержать единственное целое число — количество мутаций.

Ограничения

1 ≤ N ≤ 1000

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
12
A T
T A
T A
A T
A G
G C
T A
A T
A T
C G
C G
T A
1
2
2
C T
G A
2

Задача B. Праздник урожая

Автор:Н. Чистякова
Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Жители города Фендолин собираются устроить костюмированное шествие в честь дня сбора урожая. Организаторы праздника выбрали для мероприятия маршрут, проходящий по наиболее живописным улицам города. Для того, чтобы каждый желающий мог присоединиться к демонстрации, организаторы планируют напечатать в местной газете план города, на котором будет указан составленный ими маршрут.

Район проведения шествия на плане представляет собой прямоугольную область, поделенную на квадраты. Получившиеся строки и столбцы пронумерованы числами, начиная с 1, от левого верхнего угла плана. Нечётные строки и столбцы являются улицами, не занятое улицами пространство заполнено домами. Улицы на плане изображены символом ‘.’, дома — символом ‘#’. Маршрут задан набором координат квадратов xs ys, через которые планируется провести празднующих (перемещение происходит строго по улицам).

Точки начала и окончания шествия обозначены на схеме символом ‘*’. В зависимости от направления движения участок маршрута обозначается символом ‘>’ (вправо), ‘^’ (вверх), ‘<’ (влево) или ‘V’ (вниз). Точки, где маршрут поворачивает или пересекает себя (за исключением пересечения с началом или окончанием маршрута), обозначаются символом ‘X’.

Программа должна вывести план области проведения шествия с нанесённым маршрутом.

Формат входного файла

Первая строка входного файла содержит три натуральных числа N, M и K. Далее следуют K строк, содержащих координаты квадратов xs, ys, через которые проходит маршрут.

Формат выходного файла

Выходной файл должен содержать 2*M+1 строк длиной по 2*N+1 символов каждая, содержащих ASCII-изображение плана области проведения шествия с нанесённым маршрутом.

Ограничения

2 ≤ N, M ≤ 100, 2 ≤ K ≤ 10

1 ≤ xs ≤ 2*N+1, 1 ≤ ys ≤ 2*M+1

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
5 4 6
3 3
9 3
9 9
5 9
5 5
11 5
...........
.#.#.#.#.#.
..*>>>>>X..
.#.#.#.#V#.
....X>>>X>*
.#.#^#.#V#.
....^...V..
.#.#^#.#V#.
....X<<<X..

Задача C. Пароли

Автор:Н. Чистякова
Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Некая система Х требует от своих пользователей ввести при регистрации пароль, при этом система категоризирует пароль как сильный, средний или слабый. Согласно требованиям программы, пароль может состоять только из заглавных и строчных латинских букв (AZ, az), а также цифр (09).

Пароль считается сильным, если он содержит хотя бы по одному символу из каждой из трёх категорий и имеет длину более 12 символов.

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

Последовательности длиной менее 5 символов, или содержащие недопустимые символы, считаются невалидными и не принимаются системой в качестве пароля.

Валидные пароли, не относящиеся к сильным и средним, считаются слабыми.

По данной последовательности требуется определить, к какой из четырёх категорий она относится, и вывести:

H — если это сложный пароль,

M — если это пароль средней сложности,

W — если это слабый пароль,

I — если последовательность не является паролем.

Отправка решения и тестирование

Данная задача будет проверяться на ОДНОМ входном файле, содержащем все тесты. Этот файл можно скачать ЗДЕСЬ.

В качестве решения принимается как программа, так и текстовый файл, содержащий ответ к задаче в требуемом формате (при его отправке следует выбрать в тестирующей системе среду разработки "Answer text").

Баллы будут начисляться пропорционально количеству правильных ответов в выходном файле. Решение будет полностью проверяться сразу после отправки, и участникам будут видны набранные за данную задачу баллы.

Формат входного файла

Первая строка входного файла содержит натуральное число N — количество тестов в файле. Следующие N строк содержат последовательности S, введённые пользователями в качестве пароля. Последовательности состоят из символов ASCII с кодами от 33 до 126.

Формат выходного файла

Выходной файл должен содержать N строк с обозначением категорий, к которым причислены входные последовательности.

Ограничения

1 ≤ N ≤ 100, Length(S) ≤ 200

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
5
qwerty
IRolledNat20
mathemaTIZIANO
super!!pAsSwOrD!!!
12momentsOfSpring
W
M
M
I
H

Задача D. Морковные метры

Автор:Н. Чистякова
Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Группа учёных ставит эксперименты над роботом марки OSeL, работающим на моркови. Лаборатория, где проходят эксперименты, представляет собой плоскость, в которой введена система координат: ось OX направлена восток, ось OY — на север.

В начале эксперимента в лабораторию помещают два прямоугольных ящика, наполненных морковью. Стороны каждого ящика параллельны осям координат, положение ящиков задаётся координатами юго-западного и северо-восточного углов: (S, W), (N, E). Затем в точку (X, Y) помещается робот. Задача робота — добраться до ближайшего к нему ящика по кратчайшей траектории.

Помогите учёным определить, к какому из ящиков, с какой стороны (северной, западной, южной или восточной) или к какому углу (северо-западному, северо-восточному, юго-западному или юго-восточному) должен подъехать робот.

Формат входного файла

Первая строка входного файла содержит координаты первого ящика: S1 W1 N1 E1.

Вторая строка содержит координаты второго ящика: S2 W2 N2 E2.

Третья строка содержит координаты робота: X Y. Обратите внимание, что порядок координат робота отличается от порядка координат ящиков.

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

Формат выходного файла

В выходной файл следует вывести номер ящика и обозначение стороны либо угла, разделённые одним пробелом.

Обозначения сторон: N — северная, S — южная, E — восточная, W — западная. Обозначения углов: NW - северо-западный, NE - северо-восточный, SW - юго-западный, SE - юго-восточный.

Если робот не может выбрать между двумя равноудалёнными ящиками, следует вывести 0.

Ограничения

1 ≤ S, W, N, E, X, Y ≤ 104, S < N, W < E

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
10 10 20 20
10 50 30 60
30 0
1 SE
2
0 0 2 10
5 0 10 10
5 4
2 S

0.064s 0.006s 19