Số La Tinh

Xem dạng PDF

Thông tin
Nguồn bài: Chuyên đề Quy hoạch động — Bài tập (tài liệu người dùng cung cấp)
Chi tiết
Dạng bài
Điểm: 100,00 (OI)
Giới hạn thời gian: 3.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Cho bảng giá trị các chữ cái Latin hoa từ A đến Z: A = 1, B = 5, C = 10, D = 50, E = 100, F = 500, …, Y = 10¹², Z = 5 × 10¹². Cụ thể, chữ cái có chỉ số 2j (A có chỉ số 0) mang giá trị 10ʲ; chữ cái có chỉ số 2j + 1 mang giá trị 5 × 10ʲ.

Giá trị của một xâu được tính như sau: mỗi ký tự đóng góp giá trị dương nếu bên phải nó không có ký tự mang giá trị lớn hơn; ngược lại, ký tự đó đóng góp giá trị âm. Cộng các đóng góp để được giá trị của xâu.

Cho t xâu gồm các chữ cái Latin hoa và dấu ?. Thay mỗi dấu ? bằng một chữ cái Latin hoa để giá trị của xâu lớn nhất. In giá trị lớn nhất và một xâu đạt giá trị đó.

Dữ liệu vào

Dòng đầu chứa t (1 ≤ t ≤ 50000).

Mỗi dòng trong t dòng tiếp theo chứa một xâu không rỗng. Tổng độ dài các xâu không vượt quá 300000.

Kết quả

Với mỗi xâu, in hai dòng: dòng đầu chứa giá trị lớn nhất ở hệ thập phân, dòng tiếp theo chứa xâu sau khi thay thế. Nếu có nhiều đáp án tối ưu, in một đáp án bất kỳ.

Ví dụ

Input

4
BBBC
????
A?B?C?D
YYYYY?

Output

-5
BBBC
20000000000000
ZZZZ
15000000000034
AZBZCZD
6000000000000
YYYYYY

Đọc dữ liệu từ đầu vào chuẩn và ghi kết quả ra đầu ra chuẩn. Mỗi test được chấm độc lập.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.