Problem B: B 火柴拼日期

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $318$ 正确数量 $37$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签

火柴可以拼出很多的东西,但是拼出一个图案要很多火柴,如果火柴不够那么就会很尴尬。已知小S想要拼出的日期是跟某个日期后最接近的日期,并且也知道了小S所拥有的火柴数目,这些火柴刚好可以拼出这个日期,请你帮忙计算一下,这个日期与给出的日期差多少天,日期的格式是YYYYMMDD

日期上每个数字对应的显示如下图:


从上图可以看出来,每个数字所需要的火柴数,如5的火柴数是5,请你帮忙计算,请记清楚是日期后最接近的日期与给出的日期差多少天。

输入数据有多组。第一行输入一个整数 T (1 ≤ T ≤ 20),表示一共有 T 组数据。

接下来每组数据 2 行,共 T * 2 行。每组第一行输入一个长度为 8 的仅包含数字的字符串 d,表示日期,形式为 YYYYMMDD。每组第二行输入一个非负整数 m (0 ≤ m ≤ 100)。输入日期保证合法。

一共输出 T 行,每行一个整数,表示这个日期与给出的日期差多少天。如果最近的符合要求的结束日期超过 2999 12 31 日或无解则输出 -1,否则输出符合要求的最小的解。

2
20150718
30
29991231
38
85
-1