题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6112题意:中文题目

分析:关键点在与如何计算一个日期是星期几,这个可以通过蔡勒公式来计算。基姆拉尔森计算公式可以通过给定的year month day 计算出给定日期是星期几,注意:在公式中有个与其他公式不同的地方:
把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算,最后这道题要考虑闰年的情况,2月29号只可能在闰年中出现。基姆拉尔森计算公式:  W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7 在公式中d表示日期中的日数,m表示月份数,y表示年数。

#include <bits/stdc++.h>
using namespace std;
int cal(int y, int m, int d)
{if(m==1||m==2){m+=12;y--;}return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
}
bool leap(int y){if(y%400==0||(y%4==0&&y%100!=0)) return true;else return false;
}
int main()
{int T; scanf("%d", &T);while(T--){int y,m,d;scanf("%d-%d-%d",&y,&m,&d);int w=cal(y,m,d);int flag=0;if(m==2&&d==29){flag=1;}if(flag){for(int i=y+1;; i++){if(cal(i,m,d)==w&&leap(i)){printf("%d\n", i);break;}}}else{for(int i=y+1;;i++){if(cal(i,m,d)==w){printf("%d\n",i);break;}}}}return 0;
}

转载于:https://www.cnblogs.com/spfa/p/7375354.html

HDU 6112 今夕何夕 蔡勒公式相关推荐

  1. HDU 6112 今夕何夕【2017百度之星】【日期模拟计算】【基姆拉尔森计算公式】【蔡勒公式】

    今夕何夕 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. 今夕何夕(蔡勒公式)

    [问题描述] 今天是2017年8月6日,农历闰六月十五.        小度独自凭栏,望着一轮圆月,发出了"今夕何夕,见此良人"的寂寞感慨.        为了排遣郁结,它决定思考 ...

  3. 【蔡勒公式 】根据给定的年月日求出对应星期几

    蔡勒公式 蔡勒(Zeller)公式,是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几.时间复杂度:O(1).具体的在红书P229有. 若要计算的日期是在1582年10月4日或之前,公 ...

  4. 牛客多校第六场 G Is Today Friday? 蔡勒公式/排列

    题意: 有一堆日期,这些日期都是星期五,但是数字被映射成了字母A~J,现在让你求逆映射,如果存在多种答案,输出字典序最小的那个. 题解: 用蔡勒公式解决关于星期几的问题. 对于映射,可以用笔者刚刚学会 ...

  5. 快速计算某一天是星期几-蔡勒公式

    以下内容转自百度百科. w:星期: w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 c:世纪(年份前两位数) y:年(后两位数) m:月(m大于等于3 ...

  6. 获取星期--蔡勒公式

    蔡勒公式 public String dayOfTheWeek(int day, int month, int year) {int[] benchmark = {0, 3, 2, 5, 0, 3, ...

  7. c语言 万年历 蔡勒公式,C++实现简易万年历

    本文实例为大家分享了C++实现简易的万年历,供大家参考,具体内容如下 代码如下: /* *文件名称:万年历.cpp *作 者:chenghan *完成日期:2019/1/10 *版 本 号:1.0 * ...

  8. 计算星期几(蔡勒公式)

    Description acm的iphxer经常忘记某天是星期几,但是他记那天的具体日期,他希望你能写个程序帮帮他. Input 每行有三个整数 year,month,day,日期在1600年1月1日 ...

  9. 基姆拉尔森公式和蔡勒公式(计算星期几)

    给定一个xxxx-xx-xx日期,计算为星期几. 直接使用基姆拉尔森计算公式,外文名是Kim larsen calculation formula. 从 公元0年1月1日星期日 开始,已考虑各种因素. ...

最新文章

  1. 基础篇9-python基本数据结构-列表
  2. usaco Superprime Rib 搜索
  3. SSH反向连接及Autossh
  4. js 闭包作用(转自别人的)
  5. Windows的一些网络设置
  6. python generator与coroutine
  7. Data Member的布局
  8. 套料软件XSuperNEST
  9. 十六进制转二进制(C代码)
  10. python在excel中的应用:freeze_panes冻结不是第一行的问题,其实可能是一个小细节。
  11. cdrom是多媒体微型计算机,2011年计算机一级考试理论试题:多媒体
  12. android webview 跳转系统浏览器,webview 调用系统浏览器怎么解决
  13. 家乡菜之回锅茄子_wizard_新浪博客
  14. 查询整体的字体族(设置字体样式) - iOS
  15. java计算机毕业设计四川旅游网站源码+系统+数据库+lw文档+mybatis+运行部署
  16. 基于ssm老街坊网站、购物网站的实现与设计mysql
  17. 【数学】SSL_1335 蛋糕切割
  18. 连续可调稳压升压电源模块12v转12kv 24v转15kv 12v转5000v
  19. STLINK,ST-LINK Utility无法连接单片机
  20. 夯实算力底座,“中原计算”开创河南AI产业新局面

热门文章

  1. 零基础学C++——黑马程序员课程笔记(C++核心编程篇)
  2. 谷歌浏览器的默认字号是多大?以及如何设置比最小字体还小的字体?
  3. (二)DSP28335基础教程——GPIO输入(矩阵按键扫描)
  4. 机器学习十大经典算法
  5. Python轻松抓取微信公众号文章
  6. 数据库数据 与 excel 对比。(项目一)
  7. 【收藏】安科瑞企业微电网能效管理系统云平台演示账号
  8. goaheadlinux移植_web服務器goahead移植到Linux開發板
  9. 交叉编译器arm下载链接
  10. Django登录验证码实现