人人公司是一家极为鼓舞极客精神的公司,当有重要的项目须要上线但又时间太紧,甚至须要当天上线的时候,往往会挂起海盗旗开启电子日期显示。让大家能够在对时间有更明白的感知的情况下,同心协力搞定重要的项目。海盗旗下方的电子屏显示的日期形式为 YYYYMMDD (年份占 4 位、月份占 2 位、天数占 2 位)。

日期电子屏幕上每一个数字相应的显演示样例如以下图:


输入格式

从上图能够得知每一个数字相应的笔画数。比方 2 的笔画数是 5。8 的笔画数是 7,等等。人人员工小明看到了项目的启动日期 d,可是项目的结束日期没看清楚,仅仅知道电子屏幕上项目结束日期所需的笔画数为 m,你能帮小明算出来项目运行所用的时间天数么?

输入数据有多组。

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

接下来每组数据 2 行,共 T * 2 行。每组第一行输入一个长度为 8 的仅包括数字的字符串 d,表示项目的启动日期,形式为 YYYYMMDD。每组第二行输入一个非负整数 m (0 ≤ m ≤ 100),表示电子屏幕上项目结束日期所需的笔画数。

输入日期保证合法。

输出格式

一共输出 T 行,每行一个整数,表示该组数据相应的项目运行所用的时间天数。假设近期的符合要求的结束日期超过 2999 年 12 月 31 日或无解则输出 -1。否则输出符合要求的最小的解。

例子1

输入:

2
20150718
30
29991231
38

输出:

85
-1

直接暴力

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cmath>
#include<cctype>
#include<ctime>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=pre[x];p;p=next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=next[p])
#define Lson (x<<1)
#define Rson ((x<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (100000007)
#define MAXT (20+10)
#define MAXN (10+10    )
typedef long long ll;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return (a-b+(a-b)/F*F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int g[20]={6,2,5,5,4,5,6,3,7,6};
int is_l(int y)
{  if (y%4==0&&y%100!=0) return 366;  if (y%400==0) return 366;return 365;
}  char s[MAXN];
int A[MAXN];
int T,m;int d1,m1,Y1;
void next()
{if (is_l(Y1)==366) a[2]=29;else a[2]=28;d1++;if (d1>a[m1]) d1=1,m1++;if (m1>12) m1=1,Y1++;
}
int count()
{return g[Y1/1000]+g[(Y1/100)%10]+g[(Y1/10)%10]+g[Y1%10]+g[m1/10]+g[m1%10]+g[d1/10]+g[d1%10];
}int main()
{
//  freopen("num.in","r",stdin);
//  freopen("num.out","w",stdout);cin>>T;while(T--){cin>>s>>m;Rep(i,8) A[i+1]=s[i]-'0';Y1=A[1]*1000+A[2]*100+A[3]*10+A[4];m1=A[5]*10+A[6];d1=A[7]*10+A[8];//  cout<<Y1<<' '<<m1<<' '<<d1<<endl;if (m>56||m<16) {cout<<"-1"<<endl;continue;}       //  cout<<count()<<endl;if (m==count()) {cout<<"0"<<endl;continue;}if (Y1==2999&&m1==12&&d1==31) {cout<<"-1"<<endl;continue;}int ans=0;while (1){next();ans++;//     cout<<Y1<<' '<<m1<<' '<<d1<<endl;if (m==count()) break;if (Y1==2999&&m1==12&&d1==31) {ans=-1;break;}}cout<<ans<<endl;}return 0;
}

计蒜客 428(人人都有极客精神-日期问题)相关推荐

  1. 计算客 (人人都有极客精神)爆力

    人人公司是一家极为鼓舞极客精神的公司,当有重要的项目须要上线但又时间太紧.甚至须要当天上线的时候.往往会挂起海盗旗开启电子日期显示.让大家能够在对时间有更明白的感知的情况下,同心协力搞定重要的项目. ...

  2. 计蒜客 人人都有极客精神(模拟)

    人人都有极客精神 人人公司是一家极为鼓励极客精神的公司,当有重要的项目需要上线但又时间太紧,甚至需要当天上线的时候,往往会挂起海盗旗开启电子日期显示,让大家可以在对时间有更明确的感知的情况下,同心协力 ...

  3. 人人都是极客半月刊:第 3 期

    这里分享嵌入式,Linux,Android 等相关领域近两周发生的资讯,以及觉得不错的开源项目和工具.周六发布! 回到过去: 人人都是极客半月刊:第 1 期 人人都是极客半月刊:第 2 期 摘自一个 ...

  4. 人人都是极客网络电子书出炉!!!

    大家好,我是 Peter,以前的文章大都是单独介绍一个技术点,有时候会让大家感觉碎片化严重,有些人可能没有对我的公众号标星,导致喜欢的文章看不到,看到的文章不对口.于是,我打算先从操作系统的角度把一些 ...

  5. 人人都是极客半月刊:第 2 期

    这里分享嵌入式,Linux,Android 等相关领域近两周发生的资讯,以及觉得不错的开源项目和工具.周六发布! 回到过去:人人都是极客半月刊:第 1 期 天空制造作品 刊首语 疫情期间在家宅着玩了下 ...

  6. 人人都是极客半月刊:第 1 期

    刊首语 有没有看了好多碎片化的信息还是抓不到重点,有没有依稀记得哪里看过比较好的项目但就是找不到,有没有发现一些媒体去写技术性报道特别不专业.受好友痞子衡的启发准备做下人人都是极客的半月刊,主要记录嵌 ...

  7. 极客头条---人人都是主编(上)

    geek,we  are family 就在前不久,CSDN隆重推出了一个新功能,开通了博客专家直推极客头条功能,小编简单的搜索了一下什么叫做极客,度娘对极客如是说道,极客是美国俚语"gee ...

  8. 测试 极客时间_针对数据极客和记者测试DocHive

    测试 极客时间 呼吁所有数据极客和发烧友! 测试现已在DocHive 上开放- 从GitHub开始 . DocHive是一个开源的Ruby on Rails项目,用于从基于图像的PDF捕获数据. Do ...

  9. ffalcon电视html接口,FFALCON雷鸟新极客智屏,新极客,新选择

    随着5G网络的全面推广,意味着更高的数据传输速率.更低的网络延迟,更大的网络连接规模与更可靠的网络质量,为万物互联时代的开启提供了钥匙,伴随AIoT的兴起,电视这一传统行业智慧赋能的构建也拉开序幕,一 ...

最新文章

  1. Chapter 1 快速搭建-服务的注册与发现(Eureka)
  2. 并发编程实战:取消和关闭
  3. 微信小程序加密解密 C# 以及 填充无效,无法被移除错误的解决方案 Padding is invalid and cannot be removed
  4. 常见的面试思考题(MARK)
  5. FireMonkey 导出目前 Style 另存文件
  6. navicat mysql两张表建立联系_初识MySQL
  7. yolo算法_吴恩达深度学习笔记(100)-目标检测之YOLO 算法讲解
  8. 扩展语法检查(SLIN检查)
  9. Linux启动过程以及初始化
  10. jquery 父元素相邻元素_Jquery中几种查找节点的方法
  11. 关于thymeleaf配置语法运用 以及 静态资源问题总结 2021-06-08
  12. 怎样判断一个领导是否值得追随呢?
  13. (三)cmockery中的消息打印以及可变参数相关总结
  14. java反射机制面试详解
  15. python绘制基因结构图_分分钟教你绘制基因结构图!
  16. 使用ArcPy将nc格式数据转换为tif格式数据
  17. SpringBoot系列课程(二)-SpringBoot整合MyBatis
  18. PCI GXL 关于JPS与作业
  19. windows10 安装
  20. Java数据结构之栈与计算器

热门文章

  1. 笔记本键盘输入错乱,字母都变成数字了
  2. 什么是obj文件?obj文件详解
  3. mysql实现翻页功能
  4. (赴日流程)家属滞在签证
  5. 编程Verilog——半加器详解
  6. 英语构词法软件wordformation发布全新1.0版本
  7. 大数据的周边技术-这个解释很通俗
  8. eclipse报错 错误: 找不到或无法加载主类
  9. python利用mysql数据库实现一个中英文翻译程序兼单词试卷生成并改阅功能,并可以爬取有道官网进行在线翻译。
  10. 三闯港交所,主打性价比的乡村基如何夺魁“中式快餐第一股”?