USACO 2020 - Word Processor
Xem PDFBessie đang viết một bài luận cho lớp học viết. Vì chữ viết tay của cô khá xấu, cô quyết định đánh máy bài luận bằng một trình xử lý văn bản.
Bài luận gồm \(N\) từ (\(1\le N\le 100\)), được phân tách bởi các dấu cách. Mỗi từ dài từ \(1\) đến \(15\) ký tự và chỉ gồm các chữ cái viết hoa hoặc viết thường. Theo yêu cầu của bài tập, bài luận phải được định dạng theo một cách rất cụ thể: mỗi dòng không được chứa quá \(K\) ký tự (\(1\le K\le 80\)), không tính các dấu cách. May thay, trình xử lý văn bản của Bessie có thể đáp ứng yêu cầu này bằng chiến lược sau:
- Nếu Bessie gõ một từ và từ đó có thể nằm vừa trên dòng hiện tại, hãy đặt nó trên dòng này.
- Nếu không, hãy đặt từ đó trên dòng tiếp theo rồi tiếp tục thêm các từ vào dòng ấy.
Tất nhiên, các từ liên tiếp trên cùng một dòng vẫn phải được phân tách bởi đúng một dấu cách. Cuối mỗi dòng không được có dấu cách.
Không may, trình xử lý văn bản của Bessie vừa bị hỏng. Hãy giúp cô định dạng bài luận đúng cách!
Dữ liệu vào
Dữ liệu vào được đọc từ tệp word.in.
Dòng đầu tiên chứa hai số nguyên \(N\) và \(K\), cách nhau bởi một dấu cách.
Dòng tiếp theo chứa \(N\) từ, mỗi cặp từ liên tiếp được phân tách bởi đúng một dấu cách. Không từ nào dài hơn \(K\) ký tự, là số ký tự tối đa trên một dòng.
Dữ liệu ra
Ghi ra tệp word.out bài luận của Bessie đã được định dạng đúng cách.
Phân nhóm
Tất cả các test tuân theo các ràng buộc đã nêu.
Ví dụ
Ví dụ 1
Input
10 7
hello my name is Bessie and this is my essay
Output
hello my
name is
Bessie
and this
is my
essay
Giải thích
Khi tính cả hello và my, dòng đầu tiên chứa \(7\) ký tự không phải dấu cách. Nếu thêm name, dòng đầu tiên sẽ chứa \(11>7\) ký tự không phải dấu cách, nên từ này được đặt trên một dòng mới.
Nguồn
- Kỳ thi: USACO 2020 January Contest, Bronze
- Tên bài: Word Processor
- Đề bài chính thức: https://usaco.org/index.php?page=viewproblem2&cpid=987
- Tác giả đề: Nathan Pinsker
Kỳ thi:
- USACO 2020 - Tháng 1 - Hạng Đồng (1 Tháng 1., 2020)
Bình luận