HPU1247 HH的一万天 【坑】

1247: HH的一万天

Time Limit: 1 Sec  Memory Limit:
128 MB

Submit: 115  Solved: 42

[Submit][Status][Web
Board
] [Edit]

Description

HH的生日是YY年MM月DD日,他想知道自己出生后第一万天纪念日的日期(出生日算第0天)。

Input

输入有多行

第一行先输入一个数字N

接下来第2行到第N+1行,每行输入一个时间,格式为YY MM DD 其中1949<=YY<=2006,日期绝对合法。

Output

输出有多行。即HH生日第一万天以后的日期,格式为 “Y-M-D”。

每组测试数据占一行输出!

Sample Input

1 1979 4 16

Sample Output

2006-9-1

HINT

测试代码的正误,是根据后台多组测试数据来判断的,并非题目给出的测试数据没问题就能AC

Source

河南理工大学第五届ACM程序设计大赛

必须要很细心很细心才行。。由于今天点背,WA了两次。

#include <stdio.h>
#include <string.h> 

bool f(int y) {
    return y % 4 == 0 && y % 100 != 0 || y % 400 == 0;
} 

int cal(int y, int m, int d) {
    --m;
    switch(m) {
        case 11: d += 30;
        case 10: d += 31;
        case 9: d += 30;
        case 8: d += 31;
        case 7: d += 31;
        case 6: d += 30;
        case 5: d += 31;
        case 4: d += 30;
        case 3: d += 31;
        case 2: d += 28;
            if(f(y)) ++d;
        case 1: d += 31;
    }
    return d;
} 

int main() {
    int y, m, d, T, sum, tmp, i;
    scanf("%d", &T);
    while (T--) {
        scanf("%d%d%d", &y, &m, &d);
        tmp = 10000;
        tmp -= 365 - cal(y, m, d);
        if (f(y)) --tmp; 

        while (tmp > 365) {
            ++y;
            tmp -= 365;
            if (f(y)) --tmp;
        }
        ++y;
        for (i = 1; i <= 12 && tmp > 31; ++i) {
            if (i == 1 || i == 3 ||i == 5 ||i == 7 ||i == 8 ||i == 10 ||i == 12)
                tmp -= 31;
            else if (i == 2) {
                tmp -= 28;
                if(f(y)) --tmp;
            }
            else tmp -= 30;
        }
        if (i == 2 && tmp > 28) {
            if(f(y) && tmp > 29) i = 3, tmp -= 29;
            else if(!f(y) && tmp > 28) i = 3, tmp -= 28;
        } else if (tmp == 31) {
            if (!(i == 1 || i == 3 ||i == 5 ||i == 7 ||i == 8 ||i == 10 || i == 12))
                ++i, tmp = 1;
        }
        printf("%d-%d-%d\n", y, i, tmp);
    }
    return 0;
}
/**************************************************************
    Problem: 1247
    User: changmu
    Language: C++
    Result: Accepted
    Time:0 ms
    Memory:816 kb
****************************************************************/
时间: 2024-08-28 22:41:04

HPU1247 HH的一万天 【坑】的相关文章

OpenCv学习笔记(一)----OpenCv中Mat类源码的详细解读(2)

(一)像素存储的方法 1--本节我们讲解如何存储像素,存储像素值,需要指定: 1--颜色空间 2--数据类型 2--其中,颜色空间是指针对一个给定的颜色,如何组合颜色以其编码. 3--最简单的颜色空间是----灰度级空间----只需要处理:黑色和白色,对它们进行组合便可以产生不同程度的灰 色(256灰度级) 4--对于彩色方式---则有更多种类的颜色空间,但不论那种方式,都是把颜色分成:三个或者四个---基元素,通过 组合基元素,就可以产生所有的颜色 1--RGB颜色空间是最常用的一种颜色空间,

骑行类创业项目骑遇宣告死亡 创始人说硬件创业坑太多(估值3000万,投360万)

新浪科技讯 7月10日下午消息,骑行类创业项目“骑遇”App近日宣布“死亡”,其创始人之一的刘宏亮在朋友圈发布了一张讣告,并深入分析了这家主打智能骑行的创业公司的560天. 在刘宏亮的分析中,他从创业初衷.融资节奏和硬件的坑等几方面总结了骑遇的创业.比如创业一开始很顺,顺利拿到融资,并推出产品开始众筹,但其后低估了硬件创业的难度,并没有预料到资本市场的变化——融资开始变得困难,于是没有正向现金流的公司开始变得困难.刘宏亮还认为,体育产业内的创业速度本来就相对较慢,是骑遇走得太急了.另一方面来说,

从1500万用户巅峰跌落的app,血泪回顾图片社交那些坑

饭桌君说 第八届小饭桌创业课堂来了一位特殊的分享嘉宾,他曾经参与了一款当时极具风头的图片社交app的创始团队,靠谱团队,用户量急速上升到1500万,公司获得A轮……一切看上去都那么美好. 可是,由于各种错,各种坑,这款图片社交app即便获得了A轮投资,也最终走向了分崩离析.团队中各位同学再次扬帆起航,其核心产品经理作为小饭桌同学,深度剖析了当年的错和痛,这些血淋漓的经验教训,都是创业途中难能可贵的宝贵财富.与各位同学共勉! 团队情况: 2011年底,本来团队跟随LBS在做签到,后来发现签到是伪需

男童被公交碾压身亡 违停者等20人遭索赔133万hh

一个和英国的司法系统.殖民地的经济利益完美结合的囚犯贸易体系,与其他形式的奴隶贸易一起,书写了美国这片自由之地的灰暗前传.在种族和阶级压迫的共同作用下,贫穷无业的白人和黑奴一样"合法地"成为了免费劳动力.这段白奴的历史不仅揭示了罪犯与奴隶之间平行关系,在某种程度上也体现了一个充满压迫的司法体系和奴隶制之间的相似性. 舒默说,"美国有切实的挑战,需要做实事",如果特朗普继续当"推特总统"则会成为一个失败的总统. 当前的日本面临着老龄少子化困境,而引

HPU1122 HH的随机数 【坑】

1122: HH的随机数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 413  Solved: 60 [Submit][Status][Web Board] [Edit] Description HH想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号.然后再把这些数从小到大排序,按照排好的顺序

HPU1136 HH生病了【坑】

1136: HH生病了 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 324  Solved: 90 [Submit][Status][Web Board] [Edit] Description HH很不幸的感冒了,只好去校医院去挂盐水,挂盐水的时候,他发现盐水滴起来有规律,先是滴一滴,停一下:然后滴二滴,停一 下:再滴三滴,停一下...,现在有一个问题:这瓶盐水一共有VUL毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费

月薪3万的程序员都避开了哪些坑?

程序员薪水有高有低,有的人一个月可能拿30K.50K,有的人可能只有2K.3K.同样有五年工作经验的程序员,可能一个人每月拿20K,一个拿5K.是什么因素导致了这种差异?我特意总结了容易导致薪水低的九大行为表现,避开这些大坑,你就离高薪不远了. 习惯即刻回报 他不懂得只有春天播种,秋天才会有收获.刚刚付出一点点,甚至还没有付出,就想要得到回报.技术刚刚掌握,能一边百度一边干活了就觉得该拿到多少多少钱了.找工作先想着多少多少钱,入职了没干几个月就想着要加多少多少钱,干了没几个月,薪水要是没涨,就放

月薪3万的程序员都避开了哪些坑

程序员薪水有高有低,有的人一个月可能拿30K.50K,有的人可能只有2K.3K.同样有五年工作经验的程序员,可能一个人每月拿20K,一个拿5K.是什么因素导致了这种差异?我特意总结了容易导致薪水低的九大行为表现,避开这些大坑,你就离高薪不远了. 习惯即刻回报 他不懂得只有春天播种,秋天才会有收获.刚刚付出一点点,甚至还没有付出,就想要得到回报.技术刚刚掌握,能一边百度一边干活了就觉得该拿到多少多少钱了.找工作先想着多少多少钱,入职了没干几个月就想着要加多少多少钱,干了没几个月,薪水要是没涨,就放

转:月薪3万的程序员都避开了哪些坑?

程序员薪水有高有低,有的人一个月可能拿30K.50K,有的人可能只有2K.3K.同样有五年工作经验的程序员,可能一个人每月拿20K,一个拿5K.是什么因素导致了这种差异?我特意总结了容易导致薪水低的九大行为表现,避开这些大坑,你就离高薪不远了. 习惯即刻回报 他不懂得只有春天播种,秋天才会有收获.刚刚付出一点点,甚至还没有付出,就想要得到回报.技术刚刚掌握,能一边百度一边干活了就觉得该拿到多少多少钱了.找工作先想着多少多少钱,入职了没干几个月就想着要加多少多少钱,干了没几个月,薪水要是没涨,就放