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ý:

  1. Thay thế emoji text thành ký hiệu
    • :) -> 😊
    • :( -> 😢
    • :D -> 😆
    • <3 -> ❤️
  2. Rút gọn từ lặp
    • haha -> ha
    • hahaha -> haha
    • !!!!! -> !!!
  3. 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 ý

  1. Từ được tính là chuỗi ký tự liên tiếp không chứa khoảng trắng
  2. Emoji được tính là một từ
  3. Dấu câu không được tính là từ
  4. Các số nguyên trong input đảm bảo nằm trong giới hạn cho phép
  5. Độ dài mỗi tin nhắn không quá 200 ký tự
  6. Các emoji text luôn ở dạng chuẩn như đã cho
  7. Kết quả phân biệt chữ hoa/thường
  8. 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

There are no comments at the moment.

Zalo