#1574. WBRACKET - Dãy ngoặc không đúng

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Biểu thức ngoặc là xâu chỉ gồm hai ký tự ( hoặc ). Biểu thức ngoặc đúng được định nghĩa một cách đệ quy như sau:

  • Biểu thức rỗng là biểu thức ngoặc đúng;
  • Nếu A là biểu thức ngoặc đúng thì (A) cũng là một biểu thức ngoặc đúng;
  • Nếu A và B là hai biểu thức ngoặc đúng thì AB cũng là một biểu thức ngoặc đúng.

Xét các xâu có độ dài n không là biểu thức ngoặc đúng. Sắp xếp các xâu này theo thứ tự từ điểm, biết ( có thứ tự nhỏ hơn ).

Yêu cầu: Cho 𝑛, 𝑘 , hãy xác định xâu độ dài 𝑛 không là biểu thức ngoặc đúng có thứ tự từ điển thứ 𝑘 .

Dữ liệu:

  • Gồm hai số nguyên 𝑛, 𝑘\ (𝑘 ≤ 10^{18}) ;

Kết quả:

  • Gồm một dòng chứa một xâu là xâu độ dài 𝑛 không là biểu thức ngoặc đúng có thứ tự từ điển thứ 𝑘 .

Ví dụ:

Dữ liệu:

4 2

Kết quả:

((()

Giới hạn:

  • Subtask \#1: 𝑛 ≤ 20 ;
  • Subtask \#2: 𝑛 ≤ 120 ;