Module: بور


Problem

3 /10


چاپگر را تایپ کنید

Problem

شما باید N کلمه را در چاپگر نوع متحرک چاپ کنید. چاپگرهای نوع متحرک — آنها چاپگرهای قدیمی هستند که به قطعات کوچک فلز (هر قطعه حاوی یک حرف) نیاز دارند تا به ترتیب خاصی قرار گیرند تا کلمات را تشکیل دهند. سپس همه آنها در یک ورق کاغذ فشرده می شوند. این یک کلمه را چاپ می کند. چاپگر شما به شما اجازه می دهد کارهای زیر را انجام دهید:
  • یک حرف به انتهای کلمه در حال حاضر در چاپگر اضافه کنید.
  • حرف آخر را از کلمه ای که در حال حاضر روی چاپگر است حذف کنید. این عملیات فقط در صورتی قابل انجام است که کلمه حداقل یک حرف داشته باشد.
  • کلمه فعلی را روی چاپگر چاپ کنید.
در ابتدا، چاپگر حاوی یک کلمه خالی است. می توانید یک کلمه غیر خالی در پایان چاپ روی چاپگر بگذارید. می توانید کلماتی را که به شما داده می شود به هر ترتیبی تایپ کنید.
 
هر یک از این سه عملیات یک واحد زمان نیاز دارد. شما باید دنباله ای از عملیات را پیدا کنید که N کلمه داده شده را در حداقل زمان چاپ کند. اگر چندین دنباله حداقل وجود دارد، هر کدام را چاپ کنید.
 
ورودی
برنامه شما باید ورودی زیر را داشته باشد:
 
در خط اول عدد N قرار دارد (1<=N<=25000).
در N خط بعدی، کلماتی که از حروف کوچک الفبای لاتین تشکیل شده اند. طول هر کلمه از 20 تجاوز نمی کند. همه کلمات متفاوت هستند.
 
خروجی
برنامه شما باید خروجی زیر را داشته باشد:
 
در خط اول M — تعداد عملیات.
در خطوط M بعدی، یک — شرح عملیات هر عملیات با یک کاراکتر توضیح داده می شود:
افزودن یک کاراکتر توسط خود کاراکتر نشان داده می شود.
حذف یک کاراکتر با کاراکتر "-" نشان داده می شود (منهای، کد اسکی 45).
عملیات "چاپ کلمه فعلی". با نماد «P» (حرف لاتین بزرگ P).
  <بدن>
ورودی خروجی
3
چاپ
شعر
20
t
h
e
P
-
-
-
p
o
e
m
P
-
-
-
r
i
n
t
P