CEOI 2022 - Homework
Xem PDFĐề bài
Helena vừa hoàn thành năm đầu tiên ở trường tiểu học. Cô bé là một học sinh gương mẫu, luôn đạt điểm cao và đặc biệt yêu thích toán học. Hiện Helena đang tận hưởng kỳ nghỉ xứng đáng cùng gia đình, nhưng cô bắt đầu nhớ những bài tập toán hằng ngày. May thay, anh trai của Helena quyết định thỏa mãn niềm đam mê ấy bằng bài toán sau.
Một biểu thức hợp lệ được định nghĩa đệ quy như sau:
- Xâu
?là một biểu thức hợp lệ, biểu diễn một số. - Nếu \(A\) và \(B\) là các biểu thức hợp lệ thì
min(A,B)vàmax(A,B)cũng là các biểu thức hợp lệ. Biểu thức thứ nhất trả về số nhỏ hơn trong hai đối số, còn biểu thức thứ hai trả về số lớn hơn.
Ví dụ, min(min(?,?),min(?,?)) và max(?,max(?,min(?,?))) là các biểu thức hợp lệ, còn ??, max(min(?)) và min(?,?,?) thì không.
Helena nhận được một biểu thức hợp lệ chứa tổng cộng \(N\) dấu hỏi. Mỗi dấu hỏi phải được thay bằng một số thuộc tập \(\{1,2,\ldots,N\}\) sao cho mỗi số trong tập xuất hiện đúng một lần trong biểu thức. Nói cách khác, các dấu hỏi được thay bằng một hoán vị của các số từ \(1\) đến \(N\).
Sau khi thay các dấu hỏi bằng số, ta có thể tính giá trị biểu thức; kết quả là một số nguyên từ \(1\) đến \(N\). Xét mọi cách gán số cho các dấu hỏi, Helena có thể thu được bao nhiêu giá trị khác nhau?
Dữ liệu vào
Dòng duy nhất chứa một biểu thức hợp lệ.
Dữ liệu ra
In một số nguyên từ \(1\) đến \(N\): số lượng giá trị khác nhau có thể thu được khi tính biểu thức.
Ràng buộc
Trong tất cả các subtask, \(2\le N\le 1\,000\,000\).
Phân nhóm
- Subtask 1 (10 điểm): \(N\le 9\).
- Subtask 2 (13 điểm): \(N\le 16\).
- Subtask 3 (13 điểm): Mỗi hàm trong biểu thức có ít nhất một đối số là dấu hỏi
?. - Subtask 4 (30 điểm): \(N\le 1\,000\).
- Subtask 5 (34 điểm): Không có ràng buộc bổ sung.
Ví dụ
Ví dụ 1
Input
min(min(?,?),min(?,?))
Output
1
Giải thích
Dù gán các số theo cách nào, giá trị của biểu thức luôn bằng phần tử nhỏ nhất của tập \(\{1,2,3,4\}\), tức là \(1\). Vì vậy chỉ có một giá trị có thể thu được.
Ví dụ 2
Input
max(?,max(?,min(?,?)))
Output
2
Giải thích
Có thể thu được \(4\) bằng \(4=\max(4,\max(3,\min(2,1)))\) và thu được \(3\) bằng \(3=\max(3,\max(2,\min(1,4)))\). Có thể chứng minh rằng không thể thu được \(1\) hoặc \(2\), nên đáp án là \(2\).
Ví dụ 3
Input
min(max(?,?),min(?,max(?,?)))
Output
3
Kỳ thi:
- CEOI 2022 - Ngày 1 (26 Tháng bảy, 2022)
Bình luận