TS10 Quảng Ninh 2026 - Nén xâu

Xem dạng PDF

Gửi bài giải

Điểm: 5,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Cho một xâu gồm các chữ cái tiếng Anh thường. Hãy nén xâu này bằng cách thay thế mỗi đoạn gồm các ký tự giống nhau liên tiếp bằng:

  • Số lượng ký tự trong đoạn, theo sau là ký tự đó, nếu số lượng ký tự trong đoạn lớn hơn ~1~;

  • Chính ký tự đó, nếu số lượng ký tự trong đoạn bằng ~1~.

Nói cách khác, nếu một chữ cái xuất hiện liên tiếp nhiều lần, ta ghi số lần xuất hiện của nó rồi ghi chữ cái đó. Nếu chữ cái chỉ xuất hiện một lần, ta chỉ ghi chữ cái đó, không ghi số ~1~.

Input

Dòng đầu tiên chứa một số nguyên ~n~ ~(1 \le n \le 10^5)~ là độ dài của xâu ban đầu.

Dòng thứ hai chứa xâu gồm ~n~ chữ cái tiếng Anh thường.

Output

In ra một dòng duy nhất chứa xâu sau khi nén.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ Xâu ban đầu không có hai ký tự giống nhau đứng cạnh nhau
2 ~30\%~ Mỗi đoạn ký tự giống nhau liên tiếp có độ dài không quá ~2~
3 ~20\%~ ~n \le 1000~
4 ~20\%~ Không có ràng buộc gì thêm

Sample Input 1

12
aaaabbcddddd

Sample Output 1

4a2bc5d

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.