中文题意都看的懂啦~

思路很简单,就是通过前一天推出当天是星期几,直接枚举所有2017-9999年的每一天就好了。ㄟ( ▔, ▔ )ㄏ

代码:

 #include <cstdio>
#define deal(a) a==7?1:(a+1)
int date[][][];
int month[][]={
{,,,,,,,,,,,,},//平年
{,,,,,,,,,,,,}//闰年
};
int Is_ryear(int x){
if(x%==) return ;
if(x%== && x%!=) return ;
return ;
}
void init(){
date[][][]=;
for (int i = ; i <= ; ++i) {
int f=Is_ryear(i);
for (int j = ; j <= ; ++j) {
for (int k = ; k <= month[f][j]; ++k) {
if(j== && k==){//新年第一天
date[i][j][k]=deal(date[i-][][]);//宏定义,即判断该天的前一天是否为星期天,是的话该天为星期一,否则加一
}else if(k==){//除了1月以外的 每个月的第一天
date[i][j][k]=deal(date[i][j-][month[f][j-]]);
}else{
date[i][j][k]=deal(date[i][j][k-]);
}
}
}
}
}
int main(){
int t,y,m,d;
char str[];
init();
scanf("%d",&t);
while(t--){
int week;
scanf("%s",str);
y=(str[]-'')*+(str[]-'')*+(str[]-'')*+(str[]-'');
m=(str[]-'')*+(str[]-'');
d=(str[]-'')*+(str[]-'');
week=date[y][m][d];
for (int i = y+; i <= ; ++i) {
int f=Is_ryear(i);
if(month[f][m]<d) continue;//由于平闰年2月的天数不一样,判断一下比较保险
if(date[i][m][d]==week){
printf("%d\n",i);
break;
}
}
}
return ;
}

HDU 6112 今夕何夕 (预处理 枚举)的更多相关文章

  1. 2017"百度之星"程序设计大赛 - 初赛(A) [ hdu 6108 小C的倍数问题 ] [ hdu 6109 数据分割 ] [ hdu 6110 路径交 ] [ hdu 6112 今夕何夕 ] [ hdu 6113 度度熊的01世界 ]

    这套题体验极差. PROBLEM 1001 - 小C的倍数问题 题 OvO http://acm.hdu.edu.cn/showproblem.php?pid=6108 (2017"百度之星 ...

  2. HDU 6112 今夕何夕 蔡勒公式

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6112题意:中文题目 分析:关键点在与如何计算一个日期是星期几,这个可以通过蔡勒公式来计算.基姆拉尔森计 ...

  3. 【Zeller公式计算星期几】HDU 6112 今夕何夕

    acm.hdu.edu.cn/showproblem.php?pid=6112 [思路] 公式计算即可,注意特判2月29号 Zeller公式里,计算出的week不能直接模7,要保证week是正数 [A ...

  4. HDU 6112 今夕何夕

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

  5. HDU 6112.今夕何夕-蔡勒公式 (2017"百度之星"程序设计大赛 - 初赛(A)1005)

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

  6. hdu 6112 今夕何夕(模拟)

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

  7. HDU - 6112 2017百度之星初赛A 今夕何夕

    今夕何夕  Accepts: 1345  Submissions: 5533  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 32768/ ...

  8. HDU 6122 今夕何夕 【数学公式】 (2017"百度之星"程序设计大赛 - 初赛(A))

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

  9. hdu6492 暴力预处理 + 枚举

    http://acm.hdu.edu.cn/showproblem.php?pid=6492 题意 他们一共有 n+m+2k 个人,包括 n+k 个男生,m+k 个女生,其中 k 对男女生为异性情侣, ...

随机推荐

  1. CSS——设置背景

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. python pandas进行条件筛选时出现ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().”

    在使用pandas进行条件筛选时,使用了如下的代码: fzd_index=data[(data['实际辐照度']<mi)or(data['实际辐照度']>ma)].index 原本以为,并 ...

  3. prometheus-operator告警模块alertmanager注意事项(QQ邮箱发送告警)--大大坑

    在/stable/prometheus-operator/values.yaml配置告警邮件 config: global: resolve_timeout: 5m smtp_smarthost: ' ...

  4. Quartz Version=3.0.4.0,Culture=neutral,PublickeyToken=f6b8c98a402cc8a4或它的一个依赖项。找到的程序集清单定义与程序集引用不匹配

    报这种错误,就是比对Quartz的版本 ,右击引用的dll,属性查看版本. 一个项目中要一样  或者接口和调用接口的要一样  . 思路:解决这种问题的思路就是比对版本号.有可能是其它的dll,但是思路 ...

  5. Cocos Creator 中 _worldMatrix 到底是什么(上)

    Cocos Creator 中 _worldMatrix 到底是什么(上) 1. (矩阵)Matrix是什么,有什么用 (矩阵)Matrix一个神奇的存在?在开发过程中对里边各项值的含义是不是抓耳挠腮 ...

  6. Redis会遇到的问题以及解决方案

    1.缓存雪崩 发生场景:当Redis服务器重启或者大量缓存在同一时期失效时,此时大量的流量会全部冲击到数据库上面,数据库有可能会因为承受不住而宕机 解决办法: 1)随机均匀设置失效时间 2)设置过期标 ...

  7. [AspNetCore 3.0] 在RazorPages/MVC 中使用 Blazor (Razor组件)

    开发环境 Vs2019 16.3.1 dotnetcore 3.0 一.开始 新建webapp项目 dotnet new webapp -o projectname 或Vs 中新建项目选择 Web应用 ...

  8. MySQL 分页查询优化

    有时在处理偏移量非常大的分页时候查询时,例如LIMIT 1000,10这样的查询,这时MySQL需要查询1010条记录然后只返回最后10条,前面1000条记录都被抛弃,这样的代价非常高.要优化这种查询 ...

  9. 2017春季_京东_Java后端研发岗面经

    纸上得来终觉浅,绝知此事要躬行  ——2017春季Java后端研发工程师面试心得 收获offer:上海汉得+北京中科软+成都百词斩+成都诺基亚研发中心+清华大学计算机研究所等offer.阿里一面猝.京 ...

  10. j2ee开发之hibernate框架学习笔记

    hibernate框架技术重点学习笔记 1.针对不同的数据库,有不同的数据库实现类,使其符号对应的数据库? mysqlDaoImpl oracleDaoImpl ... ... 2.对象和表记录的转换 ...