Codeforces Round 379 (Div. 2) |
---|
Закончено |
Антону нравится играть в шахматы. А еще ему нравится программирование. Именно поэтому Антон решил написать шахматную программу. Однако, шахматы на обычной доске 8 на 8 кажутся ему слишком простыми, поэтому он решил использовать бесконечную шахматную доску.
Первая проблема, с которой столкнулся Антон — проверка на шах королю. Антон не знает, как её реализовать и обратился к вам за помощью.
Предположим, на бесконечной шахматной доске находится один белый король и несколько чёрных фигур. Из чёрных фигур есть только ладьи, слоны и ферзи, поскольку другие шахматные фигуры Антон ещё не реализовал в своей программе. Считается, что белый король находится под шахом, если какая-либо чёрная фигура может попасть на клетку с белым королём за один ход.
Помогите Антону и напишите программу, которая для каждой заданной позиции определяет, находится ли белый король под шахом.
Напоминаем, как ходят шахматные фигуры:
В первой строке входных данных находится одно целое цисло n (1 ≤ n ≤ 500 000) — количество чёрных фигур.
Во второй строке входных данных находятся два целых числа x0 и y0 ( - 109 ≤ x0, y0 ≤ 109) — координаты белого короля.
В следующих n строках находится символ, обозначающий тип фигуры, а также два целых числа xi и yi ( - 109 ≤ xi, yi ≤ 109) — описание i-й чёрной фигуры. Символ «B» означает слона, «R» — ладью, «Q» — ферзя. Гарантируется, что никакие две фигуры не находятся в одной клетке.
В единственной строке выходных данных выведите «YES» (без кавычек), если белый король находится под шахом, и «NO» (без кавычек) в противном случае.
2
4 2
R 1 1
B 1 5
YES
2
4 2
R 3 3
B 1 5
NO
Иллюстрация к первому примеру:
Иллюстрация ко второму примеру:
Название |
---|