#CCBCHBON0000039. Tách mỗi từ ra một dòng (One Word Per Line)

Tách mỗi từ ra một dòng (One Word Per Line)

Tách mỗi từ ra một dòng (One Word Per Line)

Nguồn: Kernighan & Ritchie

Phiên bản: Phước Hưng OJ Extended

Đề bài

Đọc toàn bộ văn bản đến EOF. Một từ là đoạn liên tiếp gồm các ký tự không thuộc ba dấu phân cách: dấu cách ASCII (U+0020), tab ngang (\t) và xuống dòng (\n). In mỗi từ nguyên trạng trên một dòng và thêm đúng một ký tự newline sau mỗi từ. Các dấu phân cách đầu/cuối hoặc liền nhau không tạo từ rỗng; nếu không có từ nào, đầu ra rỗng. Các dấu khác như dấu câu thuộc về từ.

Input

Luồng UTF-8 không chứa CR, tối đa 100000 byte, có thể rỗng hoặc không có newline cuối.

Output

Mỗi từ một dòng; nếu có từ thì kết thúc dòng cuối bằng newline; nếu không có từ thì không in gì.

Subtask

  • Subtask 1 (20%): Độ dài luồng UTF-8 không quá 100 byte; không có CR.

  • Subtask 2 (30%): Độ dài luồng UTF-8 không quá 2000 byte; không có CR.

  • Subtask 3 (50%): Độ dài luồng UTF-8 không quá 100000 byte; không có CR.

Ví dụ

Ví dụ 1

Input:

  abc	def  ghi

Output:

abc
def
ghi

Giải thích:

Ba loại ký tự phân cách kết thúc từ, không tạo dòng rỗng khi có nhiều dấu phân cách liên tiếp. Biểu diễn Input có ký tự đặc biệt: " abc\tdef ghi\n"; Output: "abc\ndef\nghi\n".

Ví dụ 2

Input:


 	 

Output:


Giải thích:

Ba loại ký tự phân cách kết thúc từ, không tạo dòng rỗng khi có nhiều dấu phân cách liên tiếp. Biểu diễn Input có ký tự đặc biệt: "\n \t "; Output: "".

Ví dụ 3

Input:

hello

Output:

hello

Giải thích:

Ba loại ký tự phân cách kết thúc từ, không tạo dòng rỗng khi có nhiều dấu phân cách liên tiếp. Biểu diễn Input có ký tự đặc biệt: "hello"; Output: "hello\n".

Biểu diễn trong dấu nháy dưới đây dùng \t cho tab thật, \n cho ký tự xuống dòng thật và \\ cho dấu gạch chéo ngược thật; đây chỉ là cách HIỂN THỊ luồng dữ liệu, không phải ký tự bổ sung trong Input.