题目链接: NYOJ219
【分析】
网上找了一个别人总结出来的公式用来计算给定年月日是星期几,再加上单字符快速输入输出时间跑到了第一。这里记录备忘。
【公式(输入年月日获得星期几)】 只能计算1582年10.15到9999年12.31日的日期
1582年的10月5日-14日这十天历史上不存在(为什么可以百度)
inline int get_date(int y, int m, int d){//获得星期几
if(1 == m || 2 == m) y--,m+=12;//一定要加
return ((d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)+1)%7;
}
【AC代码】436ms
/*
快速计算给定任意年月日是星期几
*/
#include <cstdio>
#include <cstri