CEOI 2026 - Vim
Xem PDF
Điểm:
2500 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Ban đầu văn bản Vim chỉ chứa một ký tự -, con trỏ ở ký tự này và clipboard rỗng. Cần thu được đúng \(n\) dấu trừ liên tiếp. Các lệnh được phép là:
h: sang trái, hoặc không làm gì nếu ở ký tự đầu.l: sang phải, hoặc không làm gì nếu ở ký tự cuối.Y: chép hậu tố từ con trỏ đến cuối văn bản vào clipboard.P: chèn một bản sao clipboard ngay trước con trỏ và đưa con trỏ tới ký tự vừa chèn cuối cùng; clipboard rỗng thì không làm gì.
Với mỗi \(n\), hãy in số lệnh ít nhất và một dãy lệnh đạt số đó.
Dữ liệu vào
Dòng đầu chứa \(t\). \(t\) dòng tiếp theo, mỗi dòng chứa một giá trị \(n\).
Dữ liệu ra
Với mỗi test, in một dòng gồm số lệnh ít nhất, một dấu cách, và một dãy lệnh đạt đúng số đó.
Ràng buộc
- \(1\le t\le100\), \(1\le n\le10^7\).
Phân nhóm
- \(20\) điểm: \(n\le100\).
- \(8\) điểm: \(n\le1000\).
- \(18\) điểm: \(n\le10^4\).
- \(18\) điểm: \(n\le10^5\).
- \(18\) điểm: \(n\le10^6\).
- \(18\) điểm: không có ràng buộc thêm.
Nếu mọi số lệnh tối ưu nhưng một dãy lệnh thiếu hoặc không hợp lệ, nhận một nửa điểm của phân nhóm đó.
Ví dụ
Ví dụ
Input
2
21
2
Output
10 YPYPhPYPPP
2 YP
Nguồn
CEOI 2026 - Ngày 2, bài Vim.
Đề bài, dữ liệu kiểm thử và lời giải tham khảo được lấy từ nguồn CEOI 2026 chính thức.
Kỳ thi:
- CEOI 2026 - Ngày 2 (9 Tháng bảy, 2026)
Bình luận