zoukankan      html  css  js  c++  java
  • 到天宫做客

    到天宫做客

    题目描述

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

    输入

    第一行是一个非负整数 N,表示4000年中必须呆在人间的天数,以下共N行,每行两个用空格隔开的正整数,即日期(月,日),输入保证无错误,日期无重复。

    输出

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

    样例输入

    2
    3 8
    12 2
    

    样例输出

    63266
    分析:模拟即可,注意两端边界情况;
    代码:
    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <algorithm>
    #include <climits>
    #include <cstring>
    #include <string>
    #include <set>
    #include <map>
    #include <queue>
    #include <stack>
    #include <vector>
    #include <list>
    #include <bitset>
    #define rep(i,m,n) for(i=m;i<=n;i++)
    #define rsp(it,s) for(set<int>::iterator it=s.begin();it!=s.end();it++)
    #define vi vector<int>
    #define pii pair<int,int>
    #define mod 1000000007
    #define inf 0x3f3f3f3f
    #define pb push_back
    #define mp make_pair
    #define fi first
    #define se second
    #define ll long long
    #define pi acos(-1.0)
    const int maxn=1e5+10;
    const int dis[4][2]={{0,1},{-1,0},{0,-1},{1,0}};
    using namespace std;
    ll gcd(ll p,ll q){return q==0?p:gcd(q,p%q);}
    ll qpow(ll p,ll q){ll f=1;while(q){if(q&1)f=f*p;p=p*p;q>>=1;}return f;}
    int n,m,k,t,ma;
    pii a[maxn];
    bool cmp(const pii&p,const pii&q)
    {
        return p.fi==q.fi?p.se<q.se:p.fi<q.fi;
    }
    int check(int a)
    {
        if(a==2)return 29;
        else if(a==1||a==3||a==5||a==7||a==8||a==10||a==12)return 31;
        else return 30;
    }
    int count(int p,int q)
    {
        int now1=0,now2=0;
        for(int i=1;i<a[p].fi;i++)now1+=check(i);
        now1+=a[p].se;
        for(int i=1;i<a[q].fi;i++)now2+=check(i);
        now2+=a[q].se;
        return now2-now1-1;
    }
    int main()
    {
        int i,j;
        scanf("%d",&n);
        a[0].fi=a[0].se=0;
        rep(i,0,n-1)scanf("%d%d",&a[i].fi,&a[i].se);
        a[n+1].fi=12;a[n+1].se=32;
        sort(a,a+n+2,cmp);
        rep(i,0,n)
        {
            ma=max(ma,count(i,i+1));
        }
        //printf("%d
    ",ma);
        //if(n==0)return 0*printf("%d
    ",24*3600);
        printf("%.0f
    ",1.0*ma*24*3600/366);
        //system ("pause");
        return 0;
    }
  • 相关阅读:
    WinSCP 与 Putty 中文显示乱码解决方法
    centos 6.2上oracle 11g的远程安装
    CentOs 6.3_64静默安装oracle11g_r2
    IP地址修改后ORACLE不能使用问题
    linux查看本机IP、gateway、dns
    linux启动SSH及开机自动启动
    linux下如何从自动获取ip转到手动配置ip
    Linux系统(CentOS 6.4)的NTFS驱动NTFS3g的安装和配置
    正则表达式——去除文本中的非汉字(VB2005)
    遍历排列的实现——VB2005
  • 原文地址:https://www.cnblogs.com/dyzll/p/5747853.html
Copyright © 2011-2022 走看看