Pháo hoa
Đề bài
Mô tả
Nhằm chào mừng các ngày lễ lớn trong năm 2005 người ta đã chế tạo một loại đạn pháo hoa mới, khi bắn, đạn nổ thành bông hoa cánh màu (). Nguyên vật liệu cho phép tạo được màu khác nhau, đánh số từ đến ().
Để đảm bảo tính mỹ thuật, việc chuyển tiếp màu giữa cánh hoa kề nhau phải tuân theo quy tắc chuyển màu cầu vồng sau đây:
- Bên cạnh cánh hoa màu phải là cánh hoa màu hoặc , với .
- Bên cạnh cánh hoa màu chỉ có thể là cánh hoa màu .
- Bên cạnh cánh hoa màu chỉ có thể là cánh hoa màu .
Một bông hoa không nhất thiết phải có đầy đủ màu. Các cánh hoa xếp thành một vòng tròn, nên mỗi bông hoa tương ứng với một vòng tròn số thể hiện màu của các cánh hoa (cánh cuối cùng và cánh đầu tiên cũng kề nhau). Mỗi bông hoa được mô tả bằng dãy số nguyên liệt kê các chỉ số màu của các cánh hoa theo chiều kim đồng hồ, bắt đầu từ một cánh bất kỳ.
Ví dụ, bông hoa cánh () có các cánh theo chiều kim đồng hồ lần lượt mang màu
3 4 3 2 1 2 3 4 3 2 1 2 3 4 3 2 1 2 3 4 3 4 3 2
có thể được mô tả bằng dãy số trên (bắt đầu đọc từ một cánh màu ), hoặc bằng bất kỳ dãy nào nhận được khi bắt đầu đọc từ một cánh khác.
Dãy có thứ tự từ điển nhỏ nhất trong các dãy có thể dùng để mô tả hoa được gọi là mã hoa. Khi đó, mã hoa của bông hoa trên sẽ là: 1 2 3 4 3 2 1 2 3 4 3 2 1 2 3 4 3 4 3 2 3 4 3 2.
Trong các ngày lễ, Ban tổ chức yêu cầu bắn các đạn pháo hoa cánh có đúng cánh màu (). Các mã hoa thỏa mãn yêu cầu vừa nêu cũng được sắp xếp theo thứ tự từ điển và đánh số bắt đầu từ .
Hơn nữa, nhằm tạo ra các hoa không giống nhau, đội bắn pháo hoa cần đảm bảo hai viên đạn pháo hoa bắn liên tiếp phải có mã khác nhau. Do vậy, người ta đã thiết kế một Hệ thống chụp ảnh và phân tích tự động để báo cho đội bắn pháo hoa biết số thứ tự của viên đạn pháo hoa vừa nổ trên trời. Em được giao viết chương trình giải quyết nhiệm vụ chính trong phần mềm phân tích tự động này.
Yêu cầu: Cho biết , , và . Gọi là tập tất cả các mã hoa cánh có đúng cánh màu .
- Hãy xác định số lượng các phần tử của .
- Cho một mã hoa nào đó trong tập . Hãy xác định số thứ tự từ điển của nó trong .
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên , , , .
- Dòng tiếp theo chứa số nguyên mô tả một mã hoa thuộc tập .
Các số trên một dòng cách nhau ít nhất một dấu cách.
Dữ liệu ra
- Dòng đầu tiên in ra số nguyên .
- Dòng tiếp theo in ra số thứ tự tìm được của mã hoa.
Ràng buộc
- , .
- , .
- Mã hoa cho trong dữ liệu vào thuộc tập .
- Các đáp số không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 4 0 1 2 3 4 3 4 3 |
4 3 |
Không có cánh màu . Các mã hoa theo thứ tự: 2 3 2 3 2 3; 2 3 2 3 4 3; 2 3 4 3 4 3; 3 4 3 4 3 4. |
| 12 5 0 5 1 2 3 4 3 2 1 2 3 4 3 2 1 2 3 4 3 4 3 2 3 4 3 2 |
8680 7566 |
Bông hoa cánh trong đề, với và không có cánh màu . |
Bình luận
.