11711. Зіткнення


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

На координатній площині є \(N\) людей. Особа \(i\) знаходиться в (\(X_i, Y_i\)). Позиції у всіх людей різні. Ми маємо рядок \(S\) довжини \(N\), що складається з \(L\) і \(R\).

Якщо \(S_i = R\), особа \(i\) дивиться праворуч; якщо \(S_i = L\), особа \(i\) дивиться ліворуч. Всі люди одночасно починають йти в тому напрямку, куди вони повернені. Тут праворуч і ліворуч відповідають додатному і від'ємному напрямку осі \(x\).

Наприклад, на малюнку нижче показано рух людей, коли (\(X_1, Y_1\)) = (2, 3), (\(X_2, Y_2\)) = (1, 1), (\(X_3, Y_3\)) = (4, 1), \(S = RRL\).

Ми говоримо, що відбувається зіткнення, коли дві людини, що йдуть у протилежних напрямках, потрапляють в одну позицію.

Чи станеться зіткнення, якщо всі люди продовжуватимуть ходити нескінченно?

Обмеження

  • \(2 \leq N \leq 2 \times 10^5\)

  • \(0 \leq X_i \leq 10^9\)

  • \(0 \leq Y_i \leq 10^9\)

  • \((X_i, Y_i) \neq (X_j, Y_j)\) якщо \(i \neq j\).

  • Всі \(X_i\) і \(Y_i\) є цілими числами.

  • \(S\) — рядок довжини \(N\), що складається з L і R.

Формат вхідних даних

Перший рядок містить ціле число \(N\)

Наступні  \(N\) рядків містять цілі числа \(X_i, Y_i\)

Наступний  рядок містить \(S\)

Числа у рядках розділяються пропуском.

Формат вихідних даних

У вихідний потік вивести \(Yes\) або \(No\) - відповідь на поставлене завдання

Примітка

До прикладу 1:

Цей вхід відповідає прикладу в задачі.

Якщо всі люди продовжуватимуть йти, людина 2 і людина 3 зіткнуться.

Приклад вхідних даних

3
2 3
1 1
4 1
RRL

Приклад вихідних даних

Yes

Приклад вхідних даних

2
1 1
2 1
RR

Приклад вихідних даних

No

Приклад вхідних даних

10
1 3
1 4
0 0
0 2
0 4
3 1
2 4
4 2
4 4
3 3
RLRRRLRLRR

Приклад вихідних даних

Yes

Коментарі

Ще немає коментарів.