人人都有极客精神

http://www.jisuanke.com/minicourse/59/438

人人公司是一家极为鼓励极客精神的公司,当有重要的项目需要上线但又时间太紧,甚至需要当天上线的时候,往往会挂起海盗旗开启电子日期显示,让大家可以在对时间有更明确的感知的情况下,同心协力搞定重要的项目。海盗旗下方的电子屏显示的日期形式为 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

http://paste.ubuntu.com/11897447/结束日期肯定比开始日期晚,程序又让你计算持续天数,所以ans++,笔画数控制程序结束
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
int year[3000], month2[13], day[40];
int s[10] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6};   存第几个数需要几笔画数
int month1[2][13] = {0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31};   month[0]存不是闰年当前月份天数
void init ()
{
    for (int i=0; i<40; i++)
        day[i] = s[i%10] + s[i/10];  第几天所需笔画数,第一天是0和1所需笔画数之和
    for (int i=0; i<13; i++)
        month2[i] = s[i%10] + s[i/10];   第几月所需笔画数,12月是1和2所需笔画数之和
    memset(year, 0, sizeof(year));
    for (int i=0; i<3000; i++)
    {
        int m = i;
        for (int j=0; j<4; j++)
        {
            year[i] += s[m%10];   第几年所需笔画数2015年是数字2,0,1,5所需笔画数之和
            m /= 10;
        }
    }
}
int main ()
{
    init();
    int t, y, m, d, num, ans;

    scanf ("%d", &t);
    while (t --)
    {
        int flag = 0;
        ans = 0;
        scanf ("%4d%2d%2d", &y, &m, &d);

        if (y%400==0 || (y%4==0)&&(y%100!=0))   是否闰年
            flag = 1;
        scanf ("%d", &num);
        while (true)
        {
            int nu = year[y] + month2[m] + day[d];  当前所到日期所需笔画数
            if (nu == num)  相等结束while
                break;
            if (y==2999 && m==12 && d==31)
            {
                ans = -1;
                break;
            }
            d ++;  每次d+1,ans+1,当加到日期笔画数和输入相同时结束while
            ans ++;
            if (month1[flag][m] < d)
            {
                d -= month1[flag][m];  月份< d时,天数从0开始下月计算,月份m+1
                m ++;
            }
            if (m > 12)  月份大于12,下一年开始计
            {
                m -= 12;
                y ++;
                if (y%400==0 || (y%4==0)&&(y%100!=0))
                    flag = 1;
                else
                    flag = 0;
            }
        }
        printf ("%d\n", ans);  输出天数
    }
    return 0;
}
时间: 2024-10-11 13:40:10

人人都有极客精神的相关文章

计蒜之道2015程序设计大赛初赛第二场——人人都有极客精神

计蒜之道2015程序设计大赛初赛第二场——人人都有极客精神 (一)体面 人人公司是一家极为鼓励极客精神的公司,当有重要的项目需要上线但又时间太紧,甚至需要当天上线的时候,往往会挂起海盗旗开启电子日期显示,让大家可以在对时间有更明确的感知的情况下,同心协力搞定重要的项目.海盗旗下方的电子屏显示的日期形式为 YYYYMMDD (年份占 4 位.月份占 2 位.天数占 2 位). 日期电子屏幕上每个数字对应的显示如下图: 从上图可以得知每个数字对应的笔画数,比如 2 的笔画数是 5,8 的笔画数是 7

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

人人公司是一家极为鼓励极客精神的公司,当有重要的项目需要上线但又时间太紧,甚至需要当天上线的时候,往往会挂起海盗旗开启电子日期显示,让大家可以在对时间有更明确的感知的情况下,同心协力搞定重要的项目.海盗旗下方的电子屏显示的日期形式为 YYYYMMDD (年份占 4 位.月份占 2 位.天数占 2 位). 日期电子屏幕上每个数字对应的显示如下图: 输入格式 从上图可以得知每个数字对应的笔画数,比如 2 的笔画数是 5,8 的笔画数是 7,等等.人人员工小明看到了项目的启动日期 d,但是项目的结束日

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

人人公司是一家极为鼓励极客精神的公司,当有重要的项目需要上线但又时间太紧,甚至需要当天上线的时候,往往会挂起海盗旗开启电子日期显示,让大家可以在对时间有更明确的感知的情况下,同心协力搞定重要的项目.海盗旗下方的电子屏显示的日期形式为 YYYYMMDD (年份占 4 位.月份占 2 位.天数占 2 位). 日期电子屏幕上每个数字对应的显示如下图: 输入格式从上图可以得知每个数字对应的笔画数,比如 2 的笔画数是 5,8 的笔画数是 7,等等.人人员工小明看到了项目的启动日期 d,但是项目的结束日期

什么是极客精神?【好奇之心 改变之力】

什么是极客精神? 好奇与行动,或者说是好奇之心与改变之力,但这两者必须建立在能力的基础上.其实我们更应追寻的是这背后的人文关怀和精神.这个精神是让极客不再是最初的"怪客群体",而成为世界的改变者和引领者的关键动力.而在中国,这种"极客精神"是否拥有足够多的人群在践行和传承,则更是一个意义深远的话题,需要意识到这背后首先需要一种文化来支撑,也需要一个更庞大的"基数"来孕育. 好奇之心好奇曾经是人类这种生物能够进化成为地球生物链顶端的关键,今天也是推

一个技术人,最重要的是:极客精神(好奇心 + 探索欲)

初到社会,面对众多的IT企业,我们是陌生与好奇的,认为所有企业都是管理一流并且高大上等的.然而工作多年以后你会发现,国内的IT企业环境良莠不齐,普遍是“水太深,心太狠”,大城市多半企业是随着互联网泡沫的气势吹起来的,没有几个真心想做事情来赚钱的,公司领导只想赚钱,无论干什么,用什么手段. 企业缺乏核心创业精神,也就导致了管理散漫,人员复杂的情况,这样的环境,埋没了有真正IT才能,但是不善交际的人们,却给口才一流,能力低下的“拍马者”,提供了便利的升值与捞钱途径.想了解为什么面试官都是一样的面试风

susmote个人网站博客论坛(TexTec | 关注互联网技术,传播极客精神)

网站地址 www.susmote.com www.textec.club 欢迎您的访问 原文地址:https://www.cnblogs.com/susmote/p/8443036.html

李彦宏连续三年对话极客 都说了什么?

2015极客公园创新大会在北京举行,本次大会吸引了众多技术达人.极客一族的参与,值得一提的是,百度CEO李彦宏也做客极客公园,并同与会者分享了百度的技术信仰.实际上,这是李彦宏连续第三年参加该活动,这说明李彦宏非常愿意和技术极客们在一起交流和沟通,分享互联网行业的前沿技术.那么,李彦宏连续三年对话极客,都说了什么呢? 谈技术:百度的技术信仰 三年三次参与极客大会,李彦宏做了深入浅出的分享,这其中有很多相通的地方,比如对技术的信仰,李彦宏在三年的大会上都做了强调. 早在2013年,李彦宏就提出,真

智能硬件别做成人玩具,请把极客暂时遗忘

大多数智能设备在设定初始,就朝着酷炫和有趣的方向走.这条路不能说走错了,只能说陷入了一个小圈子的范畴,即解决的只是一种极客需求.成为了玩具. 文/张书乐 当下是个智能硬件爆炸的时代,从最初的智能手机.智能手表,***,诸如什么手环.戒指.眼镜.跑鞋.跑步机.茶杯.拐棍乃至婴儿摇篮.似乎一夜之间,我们的生活已经被彻底的智能化了. 可绝大多数智能产品,都很失败.为何?一个朋友戏谑道:去看京东的智能产品众筹页面吧,那里卖的都是成人玩具. 第一问:为何大多数智能硬件都象玩具? 其实这个问题的答案并不复杂

极客与匠人

无聊了,就来补充些感悟. 追求极客精神和匠人精神是一种活法和态度,而成为极客或匠人是另外一回事.成为极客或匠人需要天赋,子曰:生而知之者,上也. <匠人精神>肯定是一本好书,只是<庄子·天道>有言:“然则君之所读者,古人之糟粕已 夫!” 为了尝试说明一些事情,必须先明确几个基础的类比概念.①手段和目的,②体和用,③名和实,④禅和坐禅...... 参禅悟道,无需解释,也无法解释.坐禅,是未达到禅的境界的一种手段之一,屁股坐烂. 最喜欢<匠人精神>的地方就在于,不过多解释“