Liệt kê hoán vị bộ số (2)

codelaca

Cho trước số nguyên dương \(n\). Viết chương trình in ra các hoán vị của bộ \(n\) số nguyên dương đầu tiên, theo thứ tự ngượ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ả mỗi hoán vị trên một dòng.

Constraints

\(n \leq 9\)

Input Sample

3

Output Sample

3 2 1
3 1 2
2 3 1
2 1 3
1 3 2
1 2 3
...More

TeX Quotes (UVa 272)

codelaca

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!''
...More

Liệt kê ba số (3)

codelaca

Carefully read and complete the task shown in the attachment.

...More

Mật khẩu mạnh

codelaca

Khi đặt mật khẩu, để tăng độ khó của việc dò tấn công brute-force, ta đặt ra một số quy tắc như sau:

  • Về độ dài: Mật khẩu cần có ít nhất 12 ký tự; (Càng dài, mật khẩu càng khó đoán và tấn công)
  • Về kết hợp đa dạng kí tự: Mật khẩu cần chứa ít nhất một chữ cái in thường; một chữ cái in hoa; một chữ số và một ít nhất một kí tự khác (hay còn gọi là kí tự đặc biệt).

Nếu một mật khẩu thoả mãn hai điều kiện trên thì ta tạm gọi nó là một mật khẩu mạnh.

Cho trước một mật khẩu. Hãy viết chương trình kiểm tra xem nó có phải là mật khẩu mạnh hay không.

Input Specification

Gồm một xâu kí tự tương ứng là mật khẩu, trên một dòng duy nhất.

Output Specification

In ra "GOOD" nếu đó là mật khẩu mạnh, hoặc "BAD" trong trường hợp ngược lại.

Constraints

Mật khẩu đầu vào gồm không quá 100 kí tự.

Input Sample

123ABCxyz@@@

Output Sample

GOOD
...More