QJ571 - Cây FBI

Xem dưới dạng PDF

Gửi bài giải

Điểm: 100
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 125M

Tác giả:
Kiểu bài tập

Mô tả bài toán: Có thể chia chuỗi gồm “0” và “1” thành 3 loại: chuỗi toàn “0” gọi là chuỗi B, chuỗi toàn “1” gọi là chuỗi I, chuỗi vừa chứa “0” vừa chứa “1” gọi là chuỗi F. Cây FBI là một cây nhị phân, loại nút của nó cũng gồm 3 loại: nút F, nút B và nút I. Từ một chuỗi “01” độ dài $2^{N}$ là $S$, ta có thể xây dựng được một cây FBI $T$ bằng phương pháp xây dựng đệ quy như sau:

(1) Nút gốc của $T$ là $R$, loại của nó giống với loại của chuỗi $S$.

(2) Nếu độ dài chuỗi $S$ lớn hơn $1$, chia chuỗi $S$ từ giữa thành hai chuỗi con trái và phải có độ dài bằng nhau là $S_{1}$ và $S_{2}$; từ chuỗi con trái $S_{1}$ xây dựng cây con trái $T_{1}$ của $R$, từ chuỗi con phải $S_{2}$ xây dựng cây con phải $T_{2}$ của $R$.

Bây giờ cho một chuỗi “01” có độ dài $2^{N}$, hãy dùng phương pháp trên để xây dựng một cây FBI, và xuất ra thứ tự duyệt sau của nó.

Input: Dòng đầu tiên là một số nguyên $N$ ($0 \le N \le 10$). Dòng thứ hai là một chuỗi “01” có độ dài $2^{N}$.

Output: In ra một chuỗi, tức là chuỗi duyệt thứ tự sau của cây FBI.

Input mẫu:

3
10001011

Output mẫu:

IBFBBBFIBFIIIFF

Quy mô và ràng buộc test case:

Với 40% test case, $N \le 2$.

Với 100% test case, $N \le 10$.


Nhận xét

Không có ý kiến tại thời điểm này.