Noip2016普及组T2

题目描述

在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。

牛牛习惯用8位数字表示一个日期,其中,前4位代表年份,接下来2位代表月 份,最后2位代表日期。显然:一个日期只有一种表示方法,而两个不同的日期的表 示方法不会相同。

牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。现 在,牛牛想知道:在他指定的两个日期之间包含这两个日期本身),有多少个真实存 在的日期是回文的。

一个8位数字是回文的,当且仅当对于所有的i ( 1 <=i<= 8 )从左向右数的第i个 数字和第9-i个数字(即从右向左数的第i个数字)是相同的。

例如:

•对于2016年11月19日,用8位数字20161119表示,它不是回文的。

•对于2010年1月2日,用8位数字20100102表示,它是回文的。

•对于2010年10月2日,用8位数字20101002表示,它不是回文的。

每一年中都有12个月份:

其中,1、3、5、7、8、10、12月每个月有31天;4、6、9、11月每个月有30天;而对于2月,闰年时有29天,平年时有28天。

一个年份是闰年当且仅当它满足下列两种情况其中的一种:

1.这个年份是4的整数倍,但不是100的整数倍;

2.这个年份是400的整数倍。

例如:

•以下几个年份都是闰年:2000、2012、2016。

•以下几个年份是平年:1900、2011、2014。

输入输出格式

输入格式:

输入包括两行,每行包括一个8位数字。

第一行表示牛牛指定的起始日期。

第二行表示牛牛指定的终止日期。

保证date_i和都是真实存在的日期,且年份部分一定为4位数字,且首位数字不为0。

保证date1 —定不晚于date2。

输出格式:

输出一行,包含一个整数,表示在date1和date2之间,有多少个日期是回文的。

输入输出样例

输入样例#1:

20110101
20111231

输出样例#1:
1

输入样例#2:
20000101
20101231
输出样例#2:
2

说明

【样例说明】
对于样例1,符合条件的日期是20111102。
对于样例2,符合条件的日期是20011002和20100102。
 【子任务】

对于60%的数据,满足date1 = date2。

解题思路
1、可以枚举范围内的所有年份,构造出相应的回文日期,再判断此日期是否合法
2、时间刚好足够,可枚举起止日期间的每一天合法日期,判断是否是回文日期

ps:判断一个数是否是回文数

低精版

bool huiwen(int x)
{int num,sum=0;num=x;while(num){sum=sum*10+num%10;num/=10;}if(sum==x) return 1;else return 0;
} 

高精版

bool gjhuiwen(int a[],int l)//传两个值:高精数a的首地址和长度l
{for(;l>=0&&a[l]==0;l--);//l好好用的话删前缀的零是没必要的for(int i=0;i<=l;i++,l--){if(a[i]!=a[l]) return false;}return true;
}//这个比低精判回文那个更慢,不知道是不是电脑处理数字比处理字符串快

题解

#include<stdio.h>
int qin,qiy,qir;
bool hw()
{int num,sum=0;int x;x=num=qir+qiy*100+qin*10000;while(num){sum=sum*10+num%10;num/=10;}if(sum==x)return 1;return 0;
}
int main()
{int zhin,zhiy,zhir,num=0,n=0;int day[15]={0,31,29,31,30,31,30,31,31,30,31,30,31};scanf("%4d%2d%2d",&qin,&qiy,&qir);scanf("%4d%2d%2d",&zhin,&zhiy,&zhir);while(1){if(hw()&&day[qiy]>=qir) num++;qir++;if(qir>day[qiy]) qir=1,qiy++;if(qiy>12) qiy=1,qin++;if(qin>zhin) break;else if(qin==zhin){if(qiy>zhiy) break;else if(qiy==zhiy&&qir>zhir) break;}}printf("%d",num);return 0;
}

洛谷 P2010 回文日期相关推荐

  1. Vijos P2010 回文日期【回文+日期计算】

    描述 在日常生活中,通过年.月.日这三个要素可以表示出一个唯一确定的日期. 牛牛习惯用8位数字表示一个日期,其中,前4位代表年份,接下来2位代表月份,最后2位代表日期.显然:一个日期只有一种表示方法, ...

  2. 10.10做题——USACO1.2/洛谷1207回文平方数(Dual Palindromes)

    first thing:我市杨家巷发生一起爆炸事故,死亡17人,愿逝者安息! second thing:明天NOIP初赛,RP++,排名–;分数++; third thing:好像USACO评测系统真 ...

  3. 洛谷P1217 回文质数

    题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围 [a,b] (5 \le a < b \le 100,000 ...

  4. 洛谷 - P1217 - 回文质数 - 枚举

    https://www.luogu.org/problemnew/show/P1217 考虑暴力生成所有的回文数然后再判断是不是质数.注意个位的选择实际上只有4种.所以是 $4*10^3*10^3=4 ...

  5. 洛谷P1015回文数

    题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个十进制数56,将56加65(即把5656从右向左读),得到121是一个回文数. 又如:对于十进制数 ...

  6. 洛谷 题解 P2010 【回文日期】

    因为有8个字符,所以可得出每一年只有一个回文日期. 因此只要判断每一年就行了. 做法: 我们先把年倒过来,例如2018年就倒为8102,就得出8102就是回文日期的后四个字符,我们只要判断一下有没有这 ...

  7. Python案例:输出指定要求的回文日期

    文章目录 一.提出任务 二.完成任务 (一)编写程序,实现功能 (二)运行程序,查看结果 一.提出任务 2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日.因为如果将 ...

  8. Python案例:输出公元后到目前为止全部回文日期

    文章目录 一.回文日期 二.提出任务 三.完成任务 (一)涉及知识点 1.time模块 2.datetime模块 3.timedelta模块 (二)实现步骤 1.编写源代码 2.运行程序,查看结果 3 ...

  9. 【题解】【蓝桥杯】回文日期

    题目链接 回文日期 题目描述 解题思路 首先就是日期判断,注意这个地方是日期,而不是这之间的所有数据 例如44444444这种虽说是回文串,但是并不是日期,所以需要排除 判断回文串其实不用打表,因为真 ...

  10. 蓝桥杯(Java) 回文日期

    题目描述 2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日.因为如果将这个日期按 "yyyymmdd" 的格式写成一个 8 位数是 202002 ...

最新文章

  1. 查看mongodb数据路径_【数据库】mongodb数据库安装
  2. 大学毕业想要转行学软件测试,怎样入门比较好?
  3. CLR Dynamic Languages
  4. 做了三年Java,docker网络映射配置
  5. 整数线性规划实现(lingo,python分枝界定法)
  6. 【BZOJ3289】Mato的文件管理,莫队+树状数组
  7. Web Service 移除 xmlns
  8. Python使用多进程批量判断素数
  9. 怎么把代码放图片里面进行注入_揭秘代码分层后的新世界
  10. 劲爆!Java 通用泛型要来了。。
  11. 鼠标悬停在图片上出现蒙层的方法
  12. 大数据统计分析毕业设计_数据分析毕业设计 大数据可视化毕业设计
  13. 手机怎么把证件照缩小到50K以下?手机修改图片大小方法
  14. 实操演示 | 如何将示波器波形保存到U盘
  15. 怎么把好几行弄成一行_将多行内容合并成一行的两种方式
  16. 未封装的扩展程序是什么意思_网线上面的标识代表什么意思?网线的九大扩展应用...
  17. 方差、标准差、均方误差的总结
  18. 2018年中小型B2B或B2C网站如何突破?
  19. hacker黑客简介
  20. android 微票效果,再谈电影详情页-微票儿(每日一品v36)

热门文章

  1. 优化工作的冰山一角,app瘦身
  2. python随机抽奖程序代码_详解用python写一个抽奖程序
  3. java证书不见了_java – 找不到证书链
  4. java中成绩转换_成绩转换
  5. matlab中如何画零线,不接零线的教训好惨 - 通信工程设计与建设 - 通信人家园 - Powered by C114...
  6. SQLAlchemy基本使用
  7. flask常用内容:
  8. python php mysql_Python 操作 MySQL 的正确姿势
  9. RSA、DSA算法原理与举例
  10. 力扣题目系列:1313. 解压缩编码列表