Giới thiệu
Bạn là quản lý của bộ phận điện tử trong một cửa hàng bán lẻ lớn và ngày bán hàng lớn nhất trong năm là thứ Sáu này . Để giúp quản lý đám đông, cửa hàng của bạn đang triển khai hệ thống vé cho các giao dịch lớn nhất, nơi khách hàng phải xuất trình vé trước khi mua một mặt hàng. Công việc của bạn là viết một chương trình để xác nhận vé.
Vì máy tính duy nhất có sẵn trong cửa hàng (do cắt giảm ngân sách) là một con khủng long với bàn phím bị hỏng, (và tất cả những gì bạn có là bàn phím USB, không tương thích), bạn sẽ phải nhập chương trình của mình bằng chuột. Do đó, chương trình của bạn nên càng ngắn càng tốt.
Các sản phẩm
Cửa hàng của bạn đang chạy doanh số trên năm sản phẩm khác nhau được liệt kê dưới đây. Mỗi sản phẩm có một tên viết thường và các quy tắc khác nhau về số lượng có thể được mua và vào thời gian nào trong ngày.
television
: Có5
TV màn hình phẳng trong kho có thể được mua từ00:00:00
(nửa đêm) đến00:59:59
.smartphone
: Có10
điện thoại thông minh trong kho, nhưng bất kỳ khách hàng nào xếp hàng từ00:00:00
(nửa đêm) để00:59:59
nhận phiếu mua hàng cho một khi họ hết hàng.tablet
: Có những10
máy tính bảng có thể được mua bất cứ lúc nào.laptop
: Có số lượng máy tính xách tay không giới hạn có thể được mua từ00:00:00
(nửa đêm) đến07:59:59
.lightbulb
: Có số lượng bóng đèn không giới hạn có thể được mua bất cứ lúc nào.
Đầu vào
Một chuỗi nhiều dòng với mỗi dòng theo định dạng sau. Các dòng được sắp xếp theo dấu thời gian.
<time stamp> <product name> <ticket number>
- Số vé dài 8 chữ số. Chữ số cuối cùng là một chữ số kiểm tra bằng tổng của bảy chữ số đầu tiên modulo 10. Để hợp lệ, một số vé phải có chữ số kiểm tra chính xác và phải lớn hơn tất cả các số vé trước đó.
- Tên sản phẩm là một trong những chuỗi được liệt kê ở trên.
- Con tem thời gian là thời gian trong ngày ở định dạng
HH:MM:SS
màHH
là giờ hai chữ số 00-23, vàMM
vàSS
là những phút có hai chữ số và thứ hai tương ứng.
Đầu ra
Đầu ra là một trong các chuỗi sau, với một dòng trên mỗi vé. Các điều kiện phải được áp dụng theo thứ tự .
Expired offer
(Áp dụng cho TV, điện thoại thông minh và máy tính xách tay.) Dấu thời gian của vé là sau khi cắt để mua sản phẩm.Invalid ticket
Số vé nhỏ hơn hoặc bằng số vé trước đó hoặc số kiểm tra không hợp lệ.Give voucher
(Áp dụng cho điện thoại thông minh.) Sản phẩm đã hết hàng, nhưng tất cả các khách hàng xếp hàng trước khi ưu đãi hết hạn đều được kiểm tra mưa.Out of stock
(Áp dụng cho TV và máy tính bảng.) Tất cả sản phẩm đã được bán. Xin lỗi, số lượng có hạn.Accepted
Tất cả các điều kiện được đáp ứng, vì vậy cung cấp cho họ các sản phẩm. Lưu ý rằng chỉ có vé được chấp nhận làm giảm số lượng mặt hàng trong kho.
Thí dụ
Input Output
---------------------------- --------------
00:00:00 television 00010001 Accepted
00:00:25 smartphone 00011697 Accepted
00:01:25 laptop 00030238 Accepted
00:02:11 smartphone 00037291 Accepted
00:02:37 lightbulb 00073469 Invalid ticket
00:03:54 smartphone 00096319 Accepted
00:05:26 tablet 00152514 Accepted
00:06:21 tablet 00169893 Accepted
00:07:10 television 00190268 Accepted
00:07:47 smartphone 00194486 Accepted
00:07:55 tablet 00220071 Accepted
00:08:20 lightbulb 00321332 Accepted
00:10:01 smartphone 00409867 Accepted
00:11:10 tablet 00394210 Invalid ticket
00:11:46 television 00581060 Accepted
00:12:44 lightbulb 00606327 Accepted
00:13:16 tablet 00709253 Accepted
00:13:53 television 00801874 Accepted
00:14:47 laptop 00832058 Accepted
00:15:34 smartphone 00963682 Accepted
00:16:24 smartphone 01050275 Accepted
00:17:45 tablet 01117167 Accepted
00:18:05 laptop 01107548 Invalid ticket
00:19:00 lightbulb 01107605 Invalid ticket
00:19:47 lightbulb 01492983 Accepted
00:19:50 smartphone 01561609 Accepted
00:21:09 television 01567098 Accepted
00:21:42 laptop 01597046 Accepted
00:22:17 smartphone 01666313 Accepted
00:24:12 tablet 01924859 Accepted
00:24:12 smartphone 02151571 Accepted
00:25:38 smartphone 02428286 Give voucher
00:31:58 television 02435284 Out of stock
00:35:25 television 02435295 Out of stock
00:52:43 laptop 02657911 Invalid ticket
00:53:55 smartphone 02695990 Give voucher
01:08:19 tablet 02767103 Accepted
01:34:03 television 02834850 Expired offer
01:56:46 laptop 02896263 Accepted
02:02:41 smartphone 03028788 Expired offer
02:30:59 television 03142550 Expired offer
02:51:23 tablet 03428805 Accepted
03:14:57 smartphone 03602315 Expired offer
03:27:12 television 03739585 Expired offer
03:56:52 smartphone 03997615 Expired offer
04:07:52 tablet 04149301 Accepted
04:12:05 lightbulb 04300460 Invalid ticket
04:24:21 laptop 04389172 Accepted
04:40:23 lightbulb 04814175 Accepted
04:40:55 tablet 04817853 Accepted
04:42:18 smartphone 04927332 Expired offer
05:06:43 tablet 05079393 Out of stock
05:16:48 tablet 05513150 Out of stock
05:33:02 television 05760312 Expired offer
05:43:32 tablet 06037905 Out of stock
06:12:48 smartphone 06440172 Expired offer
06:35:25 laptop 06507277 Accepted
06:42:29 lightbulb 06586255 Invalid ticket
06:55:31 lightbulb 06905583 Accepted
06:55:33 lightbulb 06905583 Invalid ticket
07:40:05 smartphone 07428006 Expired offer
07:49:12 television 07588086 Expired offer
08:14:56 laptop 08111865 Expired offer
Tôi đã cố gắng làm cho ví dụ bao gồm mọi kịch bản đầu ra có thể, nhưng vui lòng để lại nhận xét nếu có gì không rõ ràng.
Đây là môn đánh gôn , bạn có thể viết chương trình hoặc chức năng và các lỗ lặp tiêu chuẩn không được phép.