[Buổi 20][Chuỗi][HW] Bài 1: Chuẩn hóa khoảng trắng


LÀM BÀI

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Chuẩn hóa khoảng trắng

Bối cảnh

Một trường nhập liệu nhận câu văn có khoảng trắng không ổn định: có thể có nhiều space liên tiếp hoặc space ở đầu/cuối. Hệ thống cần tạo phiên bản chuẩn chỉ có đúng một space giữa hai nhóm ký tự và không có space thừa ở biên. Bài toán không yêu cầu tokenization bằng stringstream; mục tiêu là luyện duyệt std::string và xây chuỗi kết quả mới an toàn.

Homework Easy giúp người học thấy vì sao việc erase() liên tục trên chuỗi đang duyệt dễ sinh lỗi index. Cách đơn giản hơn là dùng một biến trạng thái để biết ký tự trước đó có phải khoảng trắng hay chưa, rồi append có kiểm soát vào output.

Yêu cầu

  1. Đọc cả dòng.
  2. Bỏ whitespace đầu/cuối.
  3. Giữa hai token chỉ giữ một space.
  4. In chuỗi kết quả.

Input

Một dòng văn bản.

Output

Một dòng đã chuẩn hóa.

Ràng buộc

0 ≤ |s| ≤ 1000.

Ví dụ 1

Input

a   b c

Output

a b c

Giải thích

Chuỗi a b c có ba space giữa a và b. Khi duyệt, space đầu tiên được giữ như separator, hai space sau bị bỏ; giữa b và c đã có một space nên giữ nguyên. Không có space biên, kết quả là a b c.

Ví dụ 2

Input


Output


Giải thích

Input là chuỗi rỗng nên không có ký tự nào để append. Output cũng là chuỗi rỗng; đây là case biên kiểm tra code không truy cập s[0] khi size()==0.

Thông tin học tập

  • Module: M06
  • Buổi: B20
  • Loại bài: HOMEWORK
  • Độ khó: Easy
  • Concepts: string traversal, whitespace normalization
  • Giới hạn kiến thức: B01-B20
  • Time limit: 1 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo