Đường một chiều

Xem PDF



Thời gian:
Java 3.0s
Python 3.0s

Tác giả:
Dạng bài
Điểm: 600 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Ở một đất nước nọ có \(n\) thành phố và \(m\) con đường hai chiều kết nối các thành phố đó với nhau. Sự phát triển nhanh chóng về khoa học kỹ thuật đã tạo ra những phương tiện giao thông nhanh hơn và to lớn hơn kéo theo một vấn đề nan giải về cơ sở hạ tầng: các con đường bây giờ đã quá chật hẹp để cho phép hai phương tiện giao thông lưu thông ngược chiều trong cùng một thời điểm. Một giải pháp được đặt ra là chuyển đổi tất cả các con đường hai chiều này thành đường một chiều.

Việc định chiều các con đường cũng gặp nhiều khó khăn vì một số cặp thành phố trước đây được kết nối với nhau thì sau khi định chiều đã không còn nữa. Chính phủ đã ban hành một danh sách những bộ đôi thành phố quan trọng mà quá trình định chiều bắt buộc phải thỏa mãn việc tồn tại một đường đi từ thành phố thứ nhất đến thành phố thứ hai của mỗi bộ. Nhiệm vụ của bạn là xác định xem từng con đường sẽ phải được chuyển đổi thành chiều nào. Dữ liệu đảm bảo tồn tại ít nhất một phương án định chiều thỏa mãn tất cả các yêu cầu.

Đối với một số con đường, chúng ta chỉ có một lựa chọn duy nhất (về hướng) nếu muốn định chiều nó. Các phương tiện giao thông bắt buộc phải lưu thông từ thành phố thứ nhất đến thành phố thứ hai của con đường (chiều bên phải, ký hiệu bằng ký tự R) hoặc từ thành phố thứ hai về thành phố thứ nhất (chiều bên trái, ký hiệu bằng ký tự L). Tuy nhiên, với nhiều con đường khác, chúng ta có thể vừa tìm được một phương án định chiều nó bên trái, vừa tìm được một phương án khác định chiều nó bên phải. Những con đường như vậy sẽ được ký hiệu là B.

Bạn phải xuất ra một xâu độ dài \(m\), trong đó ký tự thứ \(i\) phải là:

  • R nếu tất cả phương án đều yêu cầu con đường \(i\) phải được định chiều bên phải.
  • L nếu tât cả phương án đều yêu cầu con đường \(i\) phải được định chiều bên trái.
  • B nếu vừa tồn tại một phương án yêu cầu con đường \(i\) định chiều bên trái, vừa tồn tại một phương án yêu cầu con đường \(i\) định chiều bên phải.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(n\)\(m\) thể hiện số thành phố và số con đường hai chiều ban đầu.

  • \(m\) dòng tiếp theo mô tả các con đường bằng các cặp số nguyên \(a_i\)\(b_i\) - thể hiện con đường nối giữa thành phố \(a_i\) và thành phố \(b_i\). Có thể tồn tại nhiều hơn một con đường nối cùng một cặp thành phố với nhau và cũng có thể tồn tại một con đường nối một thành phố với chính nó.

  • Dòng tiếp theo chứa số nguyên \(p\) thể hiện số cặp thành phố phải được kết nối trực tiếp với nhau.

  • \(p\) dòng tiếp theo chứa các cặp số nguyên \(x_i\)\(y_i\), với ý nghĩa rằng phải tồn tại một con đường bắt đầu ở thành phố \(x_i\) và kết thúc ở thành phố \(y_i\).

Output

  • In ra một xâu độ dài \(m\) như yêu cầu trên đề bài.

Scoring

  • \(1\leq n, m, p\leq 100,000\).
  • \(1\leq a_i, b_i, x_i, y_i\leq n\)
  • Subtask \(1\) (\(30\%\) số điểm): \(n,m\leq 1000\)\(p\leq 100\).
  • Subtask \(2\) (\(30\%\) số điểm): \(p\leq 100\).

Example

Test 1

Input
5 6
1 2
1 2
4 3
2 3
1 3
5 1
2
4 5
1 3
Output
BBRBBL
Note

Con đường 1 3 có thể định chiều theo cả hai hướng. Hai phương án đáp ứng cả hai hướng là LLRLRLRLRRLL.


Bình luận

Không có bình luận nào.