当前位置: 首页 > article >正文

到天宫做客

题目描述

有一天,我做了个梦,梦见我很荣幸的接到了猪八戒的邀请,到天宫陪他吃酒。我犹豫了。天上一日,人间一年啊!当然,我是个闲人,一年之中也没有多少时日是必须在人间的,因此,我希望选一个最长的空闲时间段,使我在天上待的时间尽量长。记住,今年是 40004000 年。天上一天也是 2424 小时,每小时 6060 分,每分 6060 秒。

输入格式

第一行是一个非负整数N,表示 40004000 年中必须呆在人间的天数。

以下共N 行,每行两个用空格隔开的正整数,即日期(月,日),输入文件保证无错误,日期无重复。

输出格式

一个非负整数,即在天上的时间(四舍五入精确到 11 秒)。

样例输入

2
3 8
12 2

样例输出

63266

参考代码

#include <iostream>
#include <cstdio>
#include <iomanip>
#include <algorithm>
using namespace std;

int ti[13];  //储存1~12月的天数 
int a[4005];

void monf() //赋值ti数组 
{
	ti[0] = 0;
	ti[1] = 0;
	ti[2] = 31;
	ti[3] = 60;
	ti[4] = 91;
	ti[5] = 121;
	ti[6] = 152;
	ti[7] = 182;
	ti[8] = 213;
	ti[9] = 244;
	ti[10] = 274;
	ti[11] = 305;
	ti[12] = 335;
}

int main()
{
	monf(); //给ti赋值 
	int i, n, month, day, ans = 0;
	double t = 0.0;
	
	scanf("%d", &n);
	
	for(i = 1; i <= n; i++)
	{
		scanf("%d%d", &month, &day);
		
		a[i] += ti[month]; //这个月(month)的天数加上天数(day) 
		a[i] += day;
	}
	
	sort(a + 1, a + n + 1);
	a[n + 1] = 367; //当一年的末尾,n为0时,a = 0 ~ 367
	for(i = 1; i <= n + 1; i++)
		ans = max(a[i] - a[i-1] - 1, ans); //计算最多待在天上的时间 
	
	t = ans * 24 * 60 * 60 * 1.0 / 366; //计算并转化为秒数 
	cout<<fixed<<setprecision(0)<<t; //四舍五入但并不保留小数点输出 
	return 0;
}


http://www.kler.cn/a/37641.html

相关文章:

  • 节点互信or秘钥登录
  • 电动汽车路由问题的基准测试
  • Jina AI 受邀出席 WAIC 2023「科技无障碍」论坛,与行业专家共话 AI 普惠未来
  • 机器学习随机森林笔记
  • Java 中的反射是什么?如何使用它?
  • 【玩转Linux操作】Linux进程(进程基本介绍,父子进程,终止进程,进程树)
  • linux进程间通信的本质
  • 【Linux系统】Linux多线程详解
  • java导出pdf(纯代码实现)
  • 容器化部署 rocketmq-dashboard
  • 山东农信:一云多芯助力金融活水普惠齐鲁大地
  • MySQL - OJ 练习(23道)
  • 按键精灵、auto.js等一些移动端脚本 如何连接云服务器的数据库, 进行读写操作
  • spring复习:(18)给bean的属性赋值
  • 再学JavaScript
  • 接收请求数据和数据的回显
  • JS相关介绍
  • 【Vue H5项目实战】从0到1的自助点餐系统—— 搭建脚手架(Vue3.2 + Vite + TS + Vant + Pinia + Node.js)
  • Ubuntu 安装 Docker
  • K210开发实例-现场可编程GPIO阵列、通用GPIO与高速GPIO