zoukankan      html  css  js  c++  java
  • ZOJ 3939The Lucky Week<模拟/暴力>

    题意:我们认为日期的天数为1,11,21,并且是周一的为Lucky Week;现在给出第一个lucky week的日期,求第N个的lucky week;

    //1:四百年一轮回,从闰年和平年的判定可以推出。
    //2:由上一条可以用程序判断出每四百年有2058个天为1,11,21的星期一,直接用。
    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int m1[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int m2[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
    
    bool run(int year)
    {
        if(year%400==0||(year%4==0&&year%100!=0))
            return true;
        else
            return false;
        
    }
    
    int main ()
    {
        int y,m,d,n;
        int T;scanf("%d",&T);
        while(T--)
        {
            scanf("%d%d%d%d",&y,&m,&d,&n);
            y+=(n/2058)*400;
            n%=2058;
            while(n){
                if(d==11||d==21||d==1)
                    n--;
                if(n==0)
                    break;
                if(run(y))
                {
                    d+=7;
                    if(d>m2[m])
                    {
                        d-=m2[m];
                        m++;
                    }
                    if(m>12){
                        y++;
                        m=1;
                    }
                }
                else {
                    d+=7;
                    if(d>m1[m])
                    {
                        d-=m1[m];
                        m++;
                    }
                    if(m>12){
                        y++;
                        m=1;
                    }
                }
            }
            printf("%d %d %d
    ",y,m,d);
        }
        return 0;
    }


    想的太多,做的太少。
  • 相关阅读:
    php 数组分页
    Fchart
    thinkphp对数据库操作有哪些内置函数
    MySQL性能优化的最佳20+条经验
    apache 简单笔记
    PHPMyadmin 配置文件详解(配置)
    mysql 常用知识
    分布式微服务日志的配置
    分布式微服务的配置
    分布式接口的调用
  • 原文地址:https://www.cnblogs.com/pealicx/p/6115638.html
Copyright © 2011-2022 走看看