{"trustable":false,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e.content-description h4 {\n font-size: 1.4em;\n border-bottom: 1px solid #eee;\n line-height: 1.225;\n padding-bottom: 0.3em;\n padding-top: 0.5em;\n font-weight: 700;\n}.content-description img {\n max-width: 100%;\n height: auto;\n}\u003c/style\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cdiv class\u003d\"content-description screen\"\u003e \n \u003cdiv\u003e\n \u003ch5\u003eTrie basic contest - Prob.1\u003c/h5\u003e\n\u003cp\u003eBạn cần in $$$N$$$ chữ theo thứ tự bất kì bằng chiếc máy in cũ được truyền lại bởi ông nội bạn. Vì là máy in cũ nên cách in của nó rất kì lạ đối với người đương thời, ví dụ để in chữ \"abc\" thì bạn phải ghép 3 tấm sắt được dập nổi chữ \u0027a\u0027, \u0027b\u0027, \u0027c\u0027 theo đúng thứ tự trên, rồi dập xuống một tờ giấy thì mới có thể in được. Có $$$3$$$ thao tác có thể thực hiện với máy in đó là\u003c/p\u003e\n \u003cul\u003e \n \u003cli\u003eThêm một tấm sắt được dập nổi chữ cái \u003ccode\u003ea\u003c/code\u003e đến \u003ccode\u003ez\u003c/code\u003e ra vị trí sau cùng (khi in thì tấm sắt này thể hiện chữ cái cuối).\u003c/li\u003e \n \u003cli\u003eBỏ tấm sắt sau cùng (tất nhiên là chỉ làm được khi các tấm sắt đang biểu diễn một xâu không rỗng).\u003c/li\u003e \n \u003cli\u003eDập các tấm sắt cho dính mực rồi dập xuống một tờ giấy, xâu đang được biểu diễn bởi các tấm sắt được in ra.\u003c/li\u003e \n \u003c/ul\u003e \n\u003cp\u003eBan đầu, máy in không có tấm sắt nào. Mỗi thao tác trên yêu cầu đúng một đơn vị thời gian nên hãy đưa ra một cách tốn ít thời gian nhất để hoàn thành công việc của mình.\u003c/p\u003e\n \u003ch4\u003eInput\u003c/h4\u003e \n \u003cp\u003eĐọc dữ liệu vào từ \u003cb\u003estdin\u003c/b\u003e:\u003c/p\u003e \n \u003cul\u003e \n \u003cli\u003eDòng 1 chứa số nguyên $$$N (1 \\le N \\le 25\\,000)$$$, là số từ cần in.\u003c/li\u003e \n \u003cli\u003eMỗi dòng trong $$$N$$$ dòng tiếp theo biểu diễn một từ cần in, chỉ chứa các chữ cái từ \u003cb\u003ea\u003c/b\u003e đến \u003cb\u003ez\u003c/b\u003e, độ dài từ $$$1$$$ đến $$$20$$$.\u003c/li\u003e\n \u003c/ul\u003e \n \u003cp\u003eCác từ đôi một phân biệt.\u003c/p\u003e \n \u003ch4\u003eOutput\u003c/h4\u003e \n \u003cp\u003eGhi kết quả ra \u003cb\u003estdout\u003c/b\u003e:\u003c/p\u003e \n \u003cul\u003e \n \u003cli\u003eDòng 1 ghi số nguyên $$$M$$$, số thao tác tối thiểu để hoàn thành yêu cầu.\u003c/li\u003e \n \u003cli\u003eDòng thứ $$$(i + 1)$$$ trong $$$M$$$ dòng tiếp theo đưa ra một kí tự biểu diễn thao tác thứ $$$i$$$. Mỗi thao tác được biểu diễn như sau:\n \u003cul\u003e \n \u003cli\u003eThêm một chữ cái (in thường), ghi chính chữ cái đó.\u003c/li\u003e \n \u003cli\u003eXóa chữ cái sau cùng, ghi \u003ccode\u003e-\u003c/code\u003e (dấu trừ, mã ASCII 45)\u003c/li\u003e \n \u003cli\u003eIn ra từ hiện tại đang được biểu diễn bởi các tấm sắt, ghi \u003ccode\u003eP\u003c/code\u003e (P viết hoa).\u003c/li\u003e \n \u003c/ul\u003e \u003c/li\u003e \n \u003c/ul\u003e \n \u003ch4\u003eInput 1\u003c/h4\u003e \n \u003cpre\u003e\u003ccode\u003e3\nkan\ntan\ndan\u003c/code\u003e\u003c/pre\u003e \n \u003ch4\u003eOutput 1\u003c/h4\u003e \n \u003cpre\u003e\u003ccode\u003e18\nk\na\nn\nP\n-\n-\n-\nt\na\nn\nP\n-\n-\n-\nd\na\nn\nP\u003c/code\u003e\u003c/pre\u003e "}}]}