Problem D
Demerit Points
A province to our west, which shall remain nameless, but whose name does not start with A, B, or S, has a unique system for driver’s license demerit and merit points. The system works (more or less) as follows.
A new driver starts with no merit or demerit points. When
the driver is convicted of a driving offense, he or she is
given between
A merit point is given, to a maximum of five, for each
interval of two years in which a driver has no offenses and no
demerit points. Each merit point cancels up to two demerit
points. If a subsequent offense occurs and the number of
demerit points exceeds double the number of merit points, the
number of demerit points is reduced by double the number of
merit points, and the number of merit points is set to
Demerit points are reduced whenever a driver has one year
free of any driving offense. This reduction decreases the
number of demerits by half or by
If a new offense occurs on the same day as a demerit point reduction or merit point award, the reduction/award is done before the new demerit points are given.
Your job is to read a set of information records for a driver, and to print the number of merit or demerit points at any given time.
Input
The first line of input contains the date of issue of the
license (in YYYYMMDD format). Subsequent lines contain
information on up to
You may assume that the dates in the input are valid, that
the year is at least
Output
For the day the license is issued, and for every occasion
that the number of merit or demerit points changes, output a
line giving the date and the number of points, in the format
below. Output terminates when
Sample Input 1 | Sample Output 1 |
---|---|
19820508 19830606 2 19830607 2 19891212 15 |
1982-05-08 No merit or demerit points. 1983-06-06 2 demerit point(s). 1983-06-07 4 demerit point(s). 1984-06-07 2 demerit point(s). 1985-06-07 No merit or demerit points. 1987-06-07 1 merit point(s). 1989-06-07 2 merit point(s). 1989-12-12 11 demerit point(s). 1990-12-12 5 demerit point(s). 1991-12-12 2 demerit point(s). 1992-12-12 No merit or demerit points. 1994-12-12 1 merit point(s). 1996-12-12 2 merit point(s). 1998-12-12 3 merit point(s). 2000-12-12 4 merit point(s). 2002-12-12 5 merit point(s). |