【模拟】时间计算
来源:互联网 发布:面包机哪个牌子好 知乎 编辑:程序博客网 时间:2024/04/30 21:34
第1题 时间计算(heaven.pas/exe)
【问题描述】
有一天,我做了个梦,梦见我很荣幸的接到了猪八戒的邀请,到天宫陪他吃酒。我犹豫了。天上一日,人间一年啊!当然,我是个闲人,一年之中也没有多少时日是必须在人间的,因此,我希望选一个最长的空闲时间段,使我在天上待的时间尽量长。记住,今年是4000年。天上一天也是24小时,每小时60分,每分60秒。
【输入数据】
输入文件的第一行是一个非负整数 N,表示4000年中必须呆在人间的天数,以下共N行,每行两个用空格隔开的正整数,即日期(月,日),输入文件保证无错误,日期无重复。
【输出数据】
输出文件仅有一行包含一个非负整数,即在天上的时间(四舍五入精确到秒)。
【样例输入】heaven.in
2
3 8
12 2
【样例输出】heaven.out
63266
模拟题。要细心,这种题不能丢分,但是貌似只有我和两个高二的没丢分。
#include <cstdio>#include <string>#include <algorithm>using std::sort;const long day[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};const long aday = 86400;long calc(long m,long d){long rs = 0;for (long i=1;i<m;i++){rs += day[i];}rs += d;return rs;}long getint(){long rs=0;bool sgn=1;char tmp;do tmp=getchar();while (!isdigit(tmp)&&tmp-'-');if (tmp=='-'){tmp=getchar();sgn=0;}do rs=(rs<<3)+(rs<<1)+tmp-'0';while (isdigit(tmp=getchar()));return sgn?rs:-rs;}struct OFF{long m;long d;bool operator<(const OFF& off2)const {if (m == off2.m)return d<off2.d;return m<off2.m;}};OFF off[400];int main(){freopen("heaven.in","r",stdin);freopen("heaven.out","w",stdout);long n = getint();if (n == 0){printf("%ld",aday);return 0;}for (long i=1;i<n+1;i++){off[i].m = getint();off[i].d = getint();}off[0].m = 1;off[0].d = 0;sort(off+1,off+1+n);n ++;off[n].m = 12;off[n].d = 32;long ans = 0;for (long i=1;i<n+1;i++){long b = calc(off[i].m,off[i].d);long a = calc(off[i-1].m,off[i-1].d);if (ans < b-a-1){ans = b-a-1;}}printf("%.0lf",ans*aday/366.0);return 0;}
- 【模拟】时间计算
- 【模拟】时间计算 heaven
- 模拟计算
- 模拟时间
- 时间计算
- 时间计算
- 计算时间
- 时间计算
- 时间计算
- 时间计算
- 时间计算
- 时间计算
- 时间计算
- 时间计算
- 计算时间
- 时间计算
- 时间计算
- 时间计算
- Java23种设计模式--Singleton(单例)
- Ubuntu Linux 查看、编辑、比较二进制文件
- 代码大全学习-32-编程工具(Programming Tools)
- 中国首艘航空母舰“辽宁”号正式交接入列
- 中断(interrupt)、异常(exception)、陷入(trap)
- 【模拟】时间计算
- SAP LSMW批处理使用方法(5)_步骤3
- 敏捷开发之 12条敏捷原则
- 北京公司真金白银造月饼 被用来向政府机关送礼
- 实践考核(二)
- 设计模式-观察者模式
- 大二女生向铁道部申请公开1.99亿客票系统信息
- 韩称将强化对中国专属区内苏岩礁“警备”
- 【动态规划】最优时间表