{"trustable":true,"sections":[{"title":"背景","value":{"format":"MD","content":"Ngăn xếp là một cấu trúc dữ liệu cổ điển trong máy tính, nói một cách đơn giản, ngăn xếp là một danh sách tuyến tính mà các thao tác chèn và xóa được giới hạn ở một đầu.\n\nNgăn xếp có hai thao tác quan trọng nhất, đó là pop (lấy một phần tử từ đỉnh ngăn xếp) và push (thêm một phần tử vào ngăn xếp).\n\nTầm quan trọng của ngăn xếp là điều không cần phải bàn cãi, bất kỳ khóa học nào về cấu trúc dữ liệu cũng sẽ giới thiệu về ngăn xếp. Bạn Ning Ning trong quá trình ôn tập các khái niệm cơ bản về ngăn xếp đã nghĩ đến một vấn đề mà sách vở không đề cập đến, và anh ấy không thể tự mình đưa ra câu trả lời, vì vậy cần sự giúp đỡ của bạn."}},{"title":"Mô tả","value":{"format":"MD","content":"![](CDN_BASE_URL/d5528e831287def44cbc0333c8ef447a?v\u003d1724321106)\n\nNing Ning đang xem xét một vấn đề như sau: một chuỗi toán hạng, $1,2,\\ldots ,n$ (hình minh họa cho trường hợp từ 1 đến 3), độ sâu của ngăn xếp A lớn hơn $n$.\n\nBây giờ có thể thực hiện hai thao tác,\n\n1. Chuyển một số từ đầu chuỗi toán hạng vào đầu ngăn xếp (tương ứng với thao tác push của cấu trúc dữ liệu ngăn xếp)\n2. Chuyển một số từ đầu ngăn xếp vào cuối chuỗi đầu ra (tương ứng với thao tác pop của cấu trúc dữ liệu ngăn xếp)\n\nSử dụng hai thao tác này, từ một chuỗi toán hạng có thể tạo ra một loạt các chuỗi đầu ra, hình dưới đây minh họa quá trình tạo ra chuỗi `2 3 1` từ `1 2 3`.\n\n![](CDN_BASE_URL/3c5487645837c35de1c9bbc7a6ee7ab4?v\u003d1724321106)\n\n(Trạng thái ban đầu như hình trên)\n\nChương trình của bạn sẽ tính toán và xuất ra tổng số chuỗi đầu ra có thể nhận được từ chuỗi toán hạng $1,2,\\ldots,n$ qua các thao tác cho trước $n$."}},{"title":"Đầu vào","value":{"format":"MD","content":"Tập tin đầu vào chỉ chứa một số nguyên $n$ ($1 \\leq n \\leq 18$)."}},{"title":"Đầu ra","value":{"format":"MD","content":"Tập tin đầu ra chỉ có một dòng, tức là tổng số chuỗi đầu ra có thể."}},{"title":"Mẫu 1","value":{"format":"MD","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e3\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e5\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}},{"title":"Mẹo","value":{"format":"MD","content":"**【Nguồn đề bài】**\n\nĐề bài thứ ba của nhóm phổ cập NOIP 2003"}}]}