火柴可以拼出很多的东西,但是拼出一个图案要很多火柴,如果火柴不够那么就会很尴尬。已知小S想要拼出的日期是跟某个日期后最接近的日期,并且也知道了小S所拥有的火柴数目,这些火柴刚好可以拼出这个日期,请你帮忙计算一下,这个日期与给出的日期差多少天,日期的格式是YYYYMMDD。
日期上每个数字对应的显示如下图:
从上图可以看出来,每个数字所需要的火柴数,如5的火柴数是5,请你帮忙计算,请记清楚是日期后最接近的日期与给出的日期差多少天。
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