Python Bài 5.B1: Xử lý tin nhắn chat
LÀM BÀI
Points:
15 (partial)
Time limit:
2.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
Python
Mô tả bài toán
Một ứng dụng chat cần xử lý tin nhắn trước khi hiển thị. Các quy tắc xử lý:
- Thay thế emoji text thành ký hiệu
- :) -> 😊
- :( -> 😢
- :D -> 😆
- <3 -> ❤️
- Rút gọn từ lặp
- haha -> ha
- hahaha -> haha
- !!!!! -> !!!
- Chuẩn hóa cách viết
- Viết hoa sau dấu chấm
- Không có khoảng trắng thừa
- Tối đa 3 dấu chấm than hoặc chấm hỏi
Lưu ý
- Từ được tính là chuỗi ký tự liên tiếp không chứa khoảng trắng
- Emoji được tính là một từ
- Dấu câu không được tính là từ
- Các số nguyên trong input đảm bảo nằm trong giới hạn cho phép
- Độ dài mỗi tin nhắn không quá 200 ký tự
- Các emoji text luôn ở dạng chuẩn như đã cho
- Kết quả phân biệt chữ hoa/thường
- Mỗi dòng output không có khoảng trắng thừa ở đầu và cuối
INPUT FORMAT
- Dòng 1: Số nguyên N (1 ≤ N ≤ 10) - số tin nhắn
- N dòng tiếp theo: Mỗi dòng là một tin nhắn
OUTPUT FORMAT
Với mỗi tin nhắn:
- Dòng 1: Tin nhắn sau khi xử lý
- Dòng 2: Số lượng emoji đã thay thế
- Dòng 3: Số từ trong tin nhắn
Ví dụ
Input
3 hello :) hahaha!!! i'm sad :( today... OMG!!! so funnyyyy :D :D
Output
hello 😊 haha!!! 1 emoji, 3 words i'm sad 😢 today... 1 emoji, 4 words OMG!!! so funny 😆 😆 2 emoji, 5 words
Giải thích
- Dòng 1: "hello 😊 haha!!!"
- Thay thế ":)" thành emoji "😊"
- "hahaha" được rút gọn thành "haha"
- Giữ nguyên 3 dấu chấm than
- Dòng 2: "1 emoji, 3 words"
- Có 1 emoji (😊)
- Có 3 từ ("hello", "haha", và emoji được tính là từ)
- Dòng 3: "i'm sad 😢 today..."
- Thay thế ":(" thành emoji "😢"
- Loại bỏ khoảng trắng thừa
- Giữ nguyên 3 dấu chấm
- Dòng 4: "1 emoji, 4 words"
- Có 1 emoji (😢)
- Có 4 từ ("i'm", "sad", "today", và emoji được tính là từ)
- Dòng 5: "OMG!!! so funny 😆 😆"
- Giữ nguyên 3 dấu chấm than
- "funnyyyy" được rút gọn thành "funny"
- Thay thế hai ":D" thành emoji "😆"
- Dòng 6: "2 emoji, 5 words"
- Có 2 emoji (😆 😆)
- Có 5 từ ("OMG", "so", "funny", và 2 emoji được tính là 2 từ)
Comments