#CCBCHBON0000042. Đếm dòng rỗng trong luồng (Count Empty Lines in a Stream)
Đếm dòng rỗng trong luồng (Count Empty Lines in a Stream)
Đếm dòng rỗng trong luồng (Count Empty Lines in a Stream)
Nguồn: Phước Hưng OJ
Phiên bản: Phước Hưng OJ Extended
Đề bài
Đọc toàn bộ luồng ký tự ASCII tới EOF. Một dòng rỗng là dòng không chứa byte nào và được kết thúc bởi ký tự xuống dòng LF (\n). Hãy đếm những dòng như vậy. Cụ thể, mỗi LF ở đầu luồng hoặc đứng ngay sau một LF khác đóng góp 1 vào kết quả. Dòng có dấu cách, tab hay ký tự khác không phải dòng rỗng. Nếu tệp rỗng hoặc dòng cuối không kết thúc bằng LF thì không tự phát sinh một dòng rỗng ở EOF.
Input
Một luồng gồm từ 0 đến 100000 byte ASCII (0..127), có thể chứa dấu cách, tab, CR và LF; không nhất thiết kết thúc bằng LF.
Output
In một số nguyên: số dòng rỗng đã xác định, sau đó xuống dòng.
Subtask
-
Subtask 1 (20%): Độ dài luồng ASCII từ 0 đến 100 byte.
-
Subtask 2 (30%): Độ dài luồng ASCII từ 0 đến 2000 byte.
-
Subtask 3 (50%): Độ dài luồng ASCII từ 0 đến 100000 byte.
Ví dụ
Ví dụ 1
Input:
Output:
0
Giải thích:
Chỉ LF đầu luồng hoặc ngay sau LF khác được đếm. Input thực tế: ""; Output thực tế: "0\n".
Ví dụ 2
Input:
Output:
1
Giải thích:
Chỉ LF đầu luồng hoặc ngay sau LF khác được đếm. Input thực tế: "\n"; Output thực tế: "1\n".
Ví dụ 3
Input:
A
B
Output:
1
Giải thích:
Chỉ LF đầu luồng hoặc ngay sau LF khác được đếm. Input thực tế: "A\n\nB\n"; Output thực tế: "1\n".
Ví dụ 4
Input:
A
Output:
3
Giải thích:
Chỉ LF đầu luồng hoặc ngay sau LF khác được đếm. Input thực tế: "\n\nA\n\n"; Output thực tế: "3\n".
Lưu ý cách hiển thị: \n biểu thị LF thật, \t biểu thị tab thật, \r biểu thị CR thật. Biểu diễn Input trong phần giải thích chỉ để làm rõ byte, không phải dữ liệu được thêm vào.