[Buổi 21][Xử lý chuỗi][Lab] Bài 1: Tokenization


LÀM BÀI

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

Author:
Problem types
Allowed languages
C++

Tokenization

Bối cảnh

Một dòng văn bản cần được tách thành các token theo whitespace.

Whitespace liên tiếp không tạo token rỗng.

Yêu cầu

  1. Đọc cả dòng.
  2. Dùng stringstream tách token.
  3. In số token, sau đó mỗi token trên một dòng.

Input

Một dòng.

Output

Dòng đầu là số token; các dòng sau là token theo thứ tự.

Ràng buộc

0 ≤ |line| ≤ 2000.

Ví dụ 1

Input

C++ Foundation Fullhouse Dev

Output

4
C++
Foundation
Fullhouse
Dev

Giải thích

stringstream tách dòng C++ Foundation Fullhouse Dev theo whitespace thành bốn token theo đúng thứ tự: C++, Foundation, Fullhouse, Dev. Vì có 4 token nên dòng đầu output là 4, sau đó mỗi token được in trên một dòng riêng.

Ví dụ 2

Input

one   two  three

Output

3
one
two
three

Giải thích

Dòng one two three có nhiều khoảng trắng nhưng stringstream >> token tự bỏ qua các khoảng trắng liên tiếp. Kết quả vẫn chỉ có ba token one, two, three, nên output bắt đầu bằng 3 rồi in ba token tương ứng.

Thông tin học tập

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

Comments

There are no comments at the moment.

Zalo