소개
귀하는 주요 소매점의 전자 부서 관리자이며 올해 가장 큰 판매 일은 이번 주 금요일 입니다. 군중을 관리하기 위해 상점은 고객이 품목을 구매하기 전에 티켓을 제시해야하는 가장 큰 거래에 대한 티켓 시스템을 구현하고 있습니다. 당신의 임무는 티켓을 확인하는 프로그램을 작성하는 것입니다.
상점에서 사용할 수있는 유일한 컴퓨터 (예산 삭감으로 인해)는 키보드가 깨진 공룡이며 호환되지 않는 USB 키보드 만 있으면 프로그램을 마우스로 입력해야합니다. 따라서 프로그램은 가능한 짧아야합니다.
제품
아래 나열된 다섯 가지 제품에서 매장을 판매하고 있습니다. 각 제품에는 모두 소문자 이름이 있으며 구매할 수있는 제품 수와 시간에 대한 규칙이 다릅니다.
television
: (자정)에서까지5
구입할 수있는 평면 TV 재고가 있습니다 .00:00:00
00:59:59
smartphone
:10
스마트 폰이 재고가 있지만00:00:00
(자정) 부터 줄을 서서00:59:59
바우처를 받으려면 고객이 줄을 서야합니다.tablet
:10
언제든지 구입할 수있는 태블릿이 있습니다.laptop
:00:00:00
(자정)에서까지 구매할 수있는 랩탑은 무제한07:59:59
입니다.lightbulb
: 언제든지 구매할 수있는 전구는 무제한입니다.
입력
다음 형식의 각 줄이있는 여러 줄 문자열입니다. 라인은 타임 스탬프별로 정렬됩니다.
<time stamp> <product name> <ticket number>
- 티켓 번호는 8 자리입니다. 마지막 숫자는 첫 번째 7 자리 모듈러스 10의 합과 같은 검사 숫자입니다. 유효하려면 티켓 번호가 올바른 검사 숫자를 가져야하며 이전의 모든 티켓 숫자보다 엄격해야합니다.
- 제품 이름은 위에 나열된 문자열 중 하나입니다.
- 타임 스탬프의 형식에서 시간 인
HH:MM:SS
곳에HH
00-23에서 두 자리 시간이고,MM
그리고SS
제 각각 두자리 분이다.
산출
출력은 티켓 당 한 줄로 다음 문자열 중 하나입니다. 조건은 순서대로 적용해야합니다 .
Expired offer
(텔레비전, 스마트 폰 및 랩톱에 적용됩니다.) 티켓의 타임 스탬프는 제품 구매 마감 시간 이후입니다.Invalid ticket
티켓 번호가 이전 티켓의 번호보다 작거나 같거나 확인 번호가 유효하지 않습니다.Give voucher
(스마트 폰에 적용됩니다.) 제품 재고가 없지만 오퍼가 만료되기 전에 모든 고객이 레인 체크를받습니다.Out of stock
(TV 및 태블릿에 적용됩니다.) 모든 제품이 판매되었습니다. 수량이 한정되어 죄송합니다.Accepted
모든 조건이 충족되었으므로 제품을 제공하십시오. 허용 된 티켓 만 재고의 품목 수를 줄입니다.
예
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
예제는 가능한 모든 출력 시나리오를 다루려고했지만 아무것도 확실하지 않은 경우 의견을 남겨주십시오.
이것은 code-golf 이며 프로그램이나 함수를 작성할 수 있으며 표준 루프 홀은 허용되지 않습니다.