题目描述
在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。
牛牛习惯用 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 表示,它不是回文的。
输入格式
输入包括两行,每行包括一个8位数字。
第一行表示牛牛指定的起始日期date1,第二行表示牛牛指定的终止日期date2。保证date1和date2都是真实存在的日期,且年份部分一定为4位数字,且首位数字不为0。
保证date1一定不晚于date2。
输出格式
输出共一行,包含一个整数,表示在date1和date2之间,有多少个日期是回文的。
样例
输入样例
20110101
20111231
输出样例
1
算法
打表
看到这题第一眼思路就是打表
打表真香!
C++ 代码
#include <iostream>
using namespace std;
int date[400];
int main(){
date[1]=10011001;
date[2]=10100101;
date[3]=10111101;
date[4]=10200201;
date[5]=10211201;
date[6]=10300301;
date[7]=10400401;
date[8]=10500501;
date[9]=10600601;
date[10]=10700701;
date[11]=10800801;
date[12]=10900901;
date[13]=11011011;
date[14]=11100111;
date[15]=11111111;
date[16]=11200211;
date[17]=11211211;
date[18]=11300311;
date[19]=11400411;
date[20]=11500511;
date[21]=11600611;
date[22]=11700711;
date[23]=11800811;
date[24]=11900911;
date[25]=12011021;
date[26]=12100121;
date[27]=12111121;
date[28]=12200221;
date[29]=12211221;
date[30]=12300321;
date[31]=12400421;
date[32]=12500521;
date[33]=12600621;
date[34]=12700721;
date[35]=12800821;
date[36]=12900921;
date[37]=13011031;
date[38]=13100131;
date[39]=13211231;
date[40]=13300331;
date[41]=13500531;
date[42]=13700731;
date[43]=13800831;
date[44]=20011002;
date[45]=20100102;
date[46]=20111102;
date[47]=20200202;
date[48]=20211202;
date[49]=20300302;
date[50]=20400402;
date[51]=20500502;
date[52]=20600602;
date[53]=20700702;
date[54]=20800802;
date[55]=20900902;
date[56]=21011012;
date[57]=21100112;
date[58]=21111112;
date[59]=21200212;
date[60]=21211212;
date[61]=21300312;
date[62]=21400412;
date[63]=21500512;
date[64]=21600612;
date[65]=21700712;
date[66]=21800812;
date[67]=21900912;
date[68]=22011022;
date[69]=22100122;
date[70]=22111122;
date[71]=22200222;
date[72]=22211222;
date[73]=22300322;
date[74]=22400422;
date[75]=22500522;
date[76]=22600622;
date[77]=22700722;
date[78]=22800822;
date[79]=22900922;
date[80]=30011003;
date[81]=30100103;
date[82]=30111103;
date[83]=30200203;
date[84]=30211203;
date[85]=30300303;
date[86]=30400403;
date[87]=30500503;
date[88]=30600603;
date[89]=30700703;
date[90]=30800803;
date[91]=30900903;
date[92]=31011013;
date[93]=31100113;
date[94]=31111113;
date[95]=31200213;
date[96]=31211213;
date[97]=31300313;
date[98]=31400413;
date[99]=31500513;
date[100]=31600613;
date[101]=31700713;
date[102]=31800813;
date[103]=31900913;
date[104]=32011023;
date[105]=32100123;
date[106]=32111123;
date[107]=32200223;
date[108]=32211223;
date[109]=32300323;
date[110]=32400423;
date[111]=32500523;
date[112]=32600623;
date[113]=32700723;
date[114]=32800823;
date[115]=32900923;
date[116]=40011004;
date[117]=40100104;
date[118]=40111104;
date[119]=40200204;
date[120]=40211204;
date[121]=40300304;
date[122]=40400404;
date[123]=40500504;
date[124]=40600604;
date[125]=40700704;
date[126]=40800804;
date[127]=40900904;
date[128]=41011014;
date[129]=41100114;
date[130]=41111114;
date[131]=41200214;
date[132]=41211214;
date[133]=41300314;
date[134]=41400414;
date[135]=41500514;
date[136]=41600614;
date[137]=41700714;
date[138]=41800814;
date[139]=41900914;
date[140]=42011024;
date[141]=42100124;
date[142]=42111124;
date[143]=42200224;
date[144]=42211224;
date[145]=42300324;
date[146]=42400424;
date[147]=42500524;
date[148]=42600624;
date[149]=42700724;
date[150]=42800824;
date[151]=42900924;
date[152]=50011005;
date[153]=50100105;
date[154]=50111105;
date[155]=50200205;
date[156]=50211205;
date[157]=50300305;
date[158]=50400405;
date[159]=50500505;
date[160]=50600605;
date[161]=50700705;
date[162]=50800805;
date[163]=50900905;
date[164]=51011015;
date[165]=51100115;
date[166]=51111115;
date[167]=51200215;
date[168]=51211215;
date[169]=51300315;
date[170]=51400415;
date[171]=51500515;
date[172]=51600615;
date[173]=51700715;
date[174]=51800815;
date[175]=51900915;
date[176]=52011025;
date[177]=52100125;
date[178]=52111125;
date[179]=52200225;
date[180]=52211225;
date[181]=52300325;
date[182]=52400425;
date[183]=52500525;
date[184]=52600625;
date[185]=52700725;
date[186]=52800825;
date[187]=52900925;
date[188]=60011006;
date[189]=60100106;
date[190]=60111106;
date[191]=60200206;
date[192]=60211206;
date[193]=60300306;
date[194]=60400406;
date[195]=60500506;
date[196]=60600606;
date[197]=60700706;
date[198]=60800806;
date[199]=60900906;
date[200]=61011016;
date[201]=61100116;
date[202]=61111116;
date[203]=61200216;
date[204]=61211216;
date[205]=61300316;
date[206]=61400416;
date[207]=61500516;
date[208]=61600616;
date[209]=61700716;
date[210]=61800816;
date[211]=61900916;
date[212]=62011026;
date[213]=62100126;
date[214]=62111126;
date[215]=62200226;
date[216]=62211226;
date[217]=62300326;
date[218]=62400426;
date[219]=62500526;
date[220]=62600626;
date[221]=62700726;
date[222]=62800826;
date[223]=62900926;
date[224]=70011007;
date[225]=70100107;
date[226]=70111107;
date[227]=70200207;
date[228]=70211207;
date[229]=70300307;
date[230]=70400407;
date[231]=70500507;
date[232]=70600607;
date[233]=70700707;
date[234]=70800807;
date[235]=70900907;
date[236]=71011017;
date[237]=71100117;
date[238]=71111117;
date[239]=71200217;
date[240]=71211217;
date[241]=71300317;
date[242]=71400417;
date[243]=71500517;
date[244]=71600617;
date[245]=71700717;
date[246]=71800817;
date[247]=71900917;
date[248]=72011027;
date[249]=72100127;
date[250]=72111127;
date[251]=72200227;
date[252]=72211227;
date[253]=72300327;
date[254]=72400427;
date[255]=72500527;
date[256]=72600627;
date[257]=72700727;
date[258]=72800827;
date[259]=72900927;
date[260]=80011008;
date[261]=80100108;
date[262]=80111108;
date[263]=80200208;
date[264]=80211208;
date[265]=80300308;
date[266]=80400408;
date[267]=80500508;
date[268]=80600608;
date[269]=80700708;
date[270]=80800808;
date[271]=80900908;
date[272]=81011018;
date[273]=81100118;
date[274]=81111118;
date[275]=81200218;
date[276]=81211218;
date[277]=81300318;
date[278]=81400418;
date[279]=81500518;
date[280]=81600618;
date[281]=81700718;
date[282]=81800818;
date[283]=81900918;
date[284]=82011028;
date[285]=82100128;
date[286]=82111128;
date[287]=82200228;
date[288]=82211228;
date[289]=82300328;
date[290]=82400428;
date[291]=82500528;
date[292]=82600628;
date[293]=82700728;
date[294]=82800828;
date[295]=82900928;
date[296]=90011009;
date[297]=90100109;
date[298]=90111109;
date[299]=90200209;
date[300]=90211209;
date[301]=90300309;
date[302]=90400409;
date[303]=90500509;
date[304]=90600609;
date[305]=90700709;
date[306]=90800809;
date[307]=90900909;
date[308]=91011019;
date[309]=91100119;
date[310]=91111119;
date[311]=91200219;
date[312]=91211219;
date[313]=91300319;
date[314]=91400419;
date[315]=91500519;
date[316]=91600619;
date[317]=91700719;
date[318]=91800819;
date[319]=91900919;
date[320]=92011029;
date[321]=92100129;
date[322]=92111129;
date[323]=92200229;
date[324]=92211229;
date[325]=92300329;
date[326]=92400429;
date[327]=92500529;
date[328]=92600629;
date[329]=92700729;
date[330]=92800829;
date[331]=92900929;
int day1,day2,ans=0;
cin>>day1>>day2;
for(int i=1;i<=331;i++){
if(day2>=date[i]&&day1<=date[i]) ans++;
}
cout<<ans<<endl;
return 0;
}
安能如此秀,大家都是来学习的,你为何如此优秀
牛牛本牛
秀儿
woc
%%%
秀儿
同九年,汝何秀
nb
卧槽,牛
牛
女少
orz离谱
单走一个6
犇
。。啊这 tql
牛啊牛啊
学到了学到了
大佬,这个数组的数据咋弄到程序里面呢,应该不是一个一个输入的,想请教一下,怎么弄的
文件输出的时候可以for循环直接输出
date[%d]=%d\n
这样的格式,之后直接复制过去就行了就是说,先写一个程序,把想要的数据输出到文件里面,然后再从文件里面粘到另一个程序中
对
学到了
老哥 你知道这个怎么写吗 还是不懂怎么写
少 女+++
你把你想重复的代码语句,放在写文件的语句中 ,用for或者while写进文件里,再从文件复制出来
就是你输出这个数组,然后复制就行了
大佬你这数据是怎么搞来的
可以在自己本地写一个程序 比如枚举每一个日期来判断是不是回文日期,然后把这些回文日期存下来就行了
因为本地没有时间空间限制 所以随便暴力 是这样吗
是的
只是运行等待时间比较久,而且数据量可能很大,一般都是用文件写的形式输出
学到了 %%%