TeX Quotes (UVa 272)
TeX là ngôn ngữ dàn trang do Donald Knuth phát triển. Nó chuyển đổi văn bản nguồn cùng với một vài lệnh định dạng để tạo nên các tài liệu có hình thức đẹp. Các tài liệu đẹp thường sử dụng dấu ngoặc kép “ ” thay vì dấu " thông thường được cung cấp bởi bàn phím.
Bàn phím thường chỉ có dấu ngoặc kép không định hướng ", nhưng TeX yêu cầu dấu mở và dấu đóng khác nhau:
- Dấu mở: `` (hai dấu nháy trái)
- Dấu đóng: '' (hai dấu nháy phải)
Nhiệm vụ của bạn là viết một chương trình chuyển đổi tất cả các dấu ngoặc kép (") trong văn bản sang đúng dạng dấu ngoặc kép của TeX:
- Dấu
"đầu tiên trong cặp được thay bằng``. - Dấu
"thứ hai trong cặp được thay bằng''.
Giả sử rằng trong toàn bộ văn bản, số lượng dấu ngoặc kép " luôn là chẵn và các dấu ngoặc kép sẽ luân phiên nhau mở và đóng.
Input Specification
Gồm nhiều dòng văn bản (có thể chứa dấu ngoặc kép ").
Kết thúc đầu vào bằng EOF (End of File).
Output Specification
In ra văn bản tương tự đầu vào, chỉ khác là:
- Mỗi dấu
"đầu tiên trong cặp được thay bằng hai dấu nháy trái ``. - Mỗi dấu
"thứ hai trong cặp được thay bằng hai dấu nháy phải ''.
Constraints
- Dữ liệu đầu vào có thể dài tới \(10^5\) kí tự.
- Số lượng dấu ngoặc kép
"luôn là chẵn. - Các ký tự khác (bao gồm
', dấu chấm câu, xuống dòng) giữ nguyên.
Input Sample
"To be or not to be," quoth the Bard, "that is the question".
The programming contestant replied: "I must disagree.
To 'C' or not to 'C', that is The Question!"
Output Sample
``To be or not to be,'' quoth the Bard, ``that is the question''.
The programming contestant replied: ``I must disagree.
To 'C' or not to 'C', that is The Question!''
Dãy con tăng dài nhất
Cho một dãy \(n\) số nguyên. Hỏi ta cần xoá đi ít nhất bao nhiêu số hạng để các số còn lại (giữ nguyên thứ tự) tạo thành một dãy số tăng dần (với ít nhất hai số hạng)? Viết chương trình xác định giá trị đó. Nếu không có cách xoá thoả mãn, in ra kết quả là \(-1\).
Input Specification
Gồm hai dòng:
- Dòng thứ nhất chứa số nguyên dương \(n\),
- Dòng thứ hai chứa dãy \(n\) số nguyên, hai số liên tiếp ngăn cách nhau bởi một dấu khoảng trắng.
Output Specification
In ra kết quả trên một dòng.
Constraints
- \(n \leq 10^4\);
- Mỗi phần tử có giá trị tuyệt đối không quá \(10^6\).
Input Sample
5
1 4 3 2 5
Output Sample
2
Liệt kê dãy nhị phân (1)
Viết chương trình liệt kê tất cả các dãy nhị phân đội dài \(n\), theo thứ tự giá trị tăng dần.
Input Specification
Gồm số nguyên dương \(n\) được ghi trên một dòng duy nhất.
Output Specification
In ra lần lượt mỗi dãy nhị phân trên một dòng.
Constraints
\(n \leq 12\)
Input Sample
3
Output Sample
000
001
010
011
100
101
110
111
Tổng các chữ số
Viết chương trình tính tổng các chữ số của một số nguyên dương \(n\) cho trước.
Input Specification
Gồm số nguyên dương \(n\) được ghi trên một dòng duy nhất.
Output Specification
In ra kết quả trên một dòng.
Constraints
\(n \leq 10^{12}\)
Input Sample
123456
Output Sample
21