![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SM4gTM4Y2N5MjY1IjZxEzMzYzXxIDM0ETM2IzLclDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
不想動腦子直接暴力。暴力暴力暴力!......
不要看着代碼長,你就覺得這個太麻煩,太難了。其實真的很簡單很無腦。
第一步,暴力輸出所有的回文,和ABABABAB類型的回文,存儲的set數組裡面。
#include <bits/stdc++.h>
using namespace std;
#define LL long long
set<LL> s;
set<LL> s2;
int a[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int isRun(int y)
{
if((y%4==0&&y%100!=0)||y%400==0)
{
return 1;
}
return 0;
}
int isH(LL t)
{
//20211202
int year = t/10000;
int y = t%10000;
int m = y/100;
int d = y%100;
// cout<<"year y m d"<<year<<" "<<y<<" "<<m<<" "<<d<<endl;
if(d>31||m>12)return 0;
if(isRun(year))
{
if(d>a[m-1])return 0;
}else{
if(d>b[m-1])return 0;
}
int T[100];
for(int i=7;i>=0;i--)
{
T[i]=t%10;
t/=10;
}
if(T[0]==T[7]&&(T[1]==T[6])&&(T[2]==T[5])&&T[3]==T[4])
{
return 1;
}else{
return 0;
}
}
int isHH(LL t)
{
int T[100];
for(int i=7;i>=0;i--)
{
T[i]=t%10;
t/=10;
}
if((T[0]==T[2]&&T[0]==T[5]&&T[0]==T[7])&&(T[1]==T[3]&&T[1]==T[4]&&T[1]==T[6]))
{
return 1;
}else{
return 0;
}
}
int t;
int main()
{
for(LL i=10000101;i<=109991231;i++)
{
if(isH(i))
{
s.insert(i);
if(isHH(i))
{
s2.insert(i);
}
}
}
for(set<LL>::iterator it=s.begin();it!=s.end();it++)
{
cout<<" s1.insert("<<*it<<");"<<endl;
}
for(set<LL>::iterator it=s2.begin();it!=s2.end();it++)
{
cout<<" s2.insert("<<*it<<");"<<endl;
}
}
此時,黑框框裡一片眼花缭亂,我們隻需Ctrl+C Ctrl+V 複制到我們的解題程式裡
#include <bits/stdc++.h>
using namespace std;
#define LL long long
set<LL>s1;
set<LL>s2;
int main()
{
s1.insert(10011001);
s1.insert(10100101);
s1.insert(10111101);
s1.insert(10200201);
s1.insert(10211201);
s1.insert(10300301);
s1.insert(10400401);
s1.insert(10500501);
s1.insert(10600601);
s1.insert(10700701);
s1.insert(10800801);
s1.insert(10900901);
s1.insert(11011011);
s1.insert(11100111);
s1.insert(11111111);
s1.insert(11200211);
s1.insert(11211211);
s1.insert(11300311);
s1.insert(11400411);
s1.insert(11500511);
s1.insert(11600611);
s1.insert(11700711);
s1.insert(11800811);
s1.insert(11900911);
s1.insert(12011021);
s1.insert(12100121);
s1.insert(12111121);
s1.insert(12200221);
s1.insert(12211221);
s1.insert(12300321);
s1.insert(12400421);
s1.insert(12500521);
s1.insert(12600621);
s1.insert(12700721);
s1.insert(12800821);
s1.insert(12900921);
s1.insert(13011031);
s1.insert(13100131);
s1.insert(13211231);
s1.insert(13300331);
s1.insert(13500531);
s1.insert(13700731);
s1.insert(13800831);
s1.insert(20011002);
s1.insert(20100102);
s1.insert(20111102);
s1.insert(20200202);
s1.insert(20211202);
s1.insert(20300302);
s1.insert(20400402);
s1.insert(20500502);
s1.insert(20600602);
s1.insert(20700702);
s1.insert(20800802);
s1.insert(20900902);
s1.insert(21011012);
s1.insert(21100112);
s1.insert(21111112);
s1.insert(21200212);
s1.insert(21211212);
s1.insert(21300312);
s1.insert(21400412);
s1.insert(21500512);
s1.insert(21600612);
s1.insert(21700712);
s1.insert(21800812);
s1.insert(21900912);
s1.insert(22011022);
s1.insert(22100122);
s1.insert(22111122);
s1.insert(22200222);
s1.insert(22211222);
s1.insert(22300322);
s1.insert(22400422);
s1.insert(22500522);
s1.insert(22600622);
s1.insert(22700722);
s1.insert(22800822);
s1.insert(22900922);
s1.insert(30011003);
s1.insert(30100103);
s1.insert(30111103);
s1.insert(30200203);
s1.insert(30211203);
s1.insert(30300303);
s1.insert(30400403);
s1.insert(30500503);
s1.insert(30600603);
s1.insert(30700703);
s1.insert(30800803);
s1.insert(30900903);
s1.insert(31011013);
s1.insert(31100113);
s1.insert(31111113);
s1.insert(31200213);
s1.insert(31211213);
s1.insert(31300313);
s1.insert(31400413);
s1.insert(31500513);
s1.insert(31600613);
s1.insert(31700713);
s1.insert(31800813);
s1.insert(31900913);
s1.insert(32011023);
s1.insert(32100123);
s1.insert(32111123);
s1.insert(32200223);
s1.insert(32211223);
s1.insert(32300323);
s1.insert(32400423);
s1.insert(32500523);
s1.insert(32600623);
s1.insert(32700723);
s1.insert(32800823);
s1.insert(32900923);
s1.insert(40011004);
s1.insert(40100104);
s1.insert(40111104);
s1.insert(40200204);
s1.insert(40211204);
s1.insert(40300304);
s1.insert(40400404);
s1.insert(40500504);
s1.insert(40600604);
s1.insert(40700704);
s1.insert(40800804);
s1.insert(40900904);
s1.insert(41011014);
s1.insert(41100114);
s1.insert(41111114);
s1.insert(41200214);
s1.insert(41211214);
s1.insert(41300314);
s1.insert(41400414);
s1.insert(41500514);
s1.insert(41600614);
s1.insert(41700714);
s1.insert(41800814);
s1.insert(41900914);
s1.insert(42011024);
s1.insert(42100124);
s1.insert(42111124);
s1.insert(42200224);
s1.insert(42211224);
s1.insert(42300324);
s1.insert(42400424);
s1.insert(42500524);
s1.insert(42600624);
s1.insert(42700724);
s1.insert(42800824);
s1.insert(42900924);
s1.insert(50011005);
s1.insert(50100105);
s1.insert(50111105);
s1.insert(50200205);
s1.insert(50211205);
s1.insert(50300305);
s1.insert(50400405);
s1.insert(50500505);
s1.insert(50600605);
s1.insert(50700705);
s1.insert(50800805);
s1.insert(50900905);
s1.insert(51011015);
s1.insert(51100115);
s1.insert(51111115);
s1.insert(51200215);
s1.insert(51211215);
s1.insert(51300315);
s1.insert(51400415);
s1.insert(51500515);
s1.insert(51600615);
s1.insert(51700715);
s1.insert(51800815);
s1.insert(51900915);
s1.insert(52011025);
s1.insert(52100125);
s1.insert(52111125);
s1.insert(52200225);
s1.insert(52211225);
s1.insert(52300325);
s1.insert(52400425);
s1.insert(52500525);
s1.insert(52600625);
s1.insert(52700725);
s1.insert(52800825);
s1.insert(52900925);
s1.insert(60011006);
s1.insert(60100106);
s1.insert(60111106);
s1.insert(60200206);
s1.insert(60211206);
s1.insert(60300306);
s1.insert(60400406);
s1.insert(60500506);
s1.insert(60600606);
s1.insert(60700706);
s1.insert(60800806);
s1.insert(60900906);
s1.insert(61011016);
s1.insert(61100116);
s1.insert(61111116);
s1.insert(61200216);
s1.insert(61211216);
s1.insert(61300316);
s1.insert(61400416);
s1.insert(61500516);
s1.insert(61600616);
s1.insert(61700716);
s1.insert(61800816);
s1.insert(61900916);
s1.insert(62011026);
s1.insert(62100126);
s1.insert(62111126);
s1.insert(62200226);
s1.insert(62211226);
s1.insert(62300326);
s1.insert(62400426);
s1.insert(62500526);
s1.insert(62600626);
s1.insert(62700726);
s1.insert(62800826);
s1.insert(62900926);
s1.insert(70011007);
s1.insert(70100107);
s1.insert(70111107);
s1.insert(70200207);
s1.insert(70211207);
s1.insert(70300307);
s1.insert(70400407);
s1.insert(70500507);
s1.insert(70600607);
s1.insert(70700707);
s1.insert(70800807);
s1.insert(70900907);
s1.insert(71011017);
s1.insert(71100117);
s1.insert(71111117);
s1.insert(71200217);
s1.insert(71211217);
s1.insert(71300317);
s1.insert(71400417);
s1.insert(71500517);
s1.insert(71600617);
s1.insert(71700717);
s1.insert(71800817);
s1.insert(71900917);
s1.insert(72011027);
s1.insert(72100127);
s1.insert(72111127);
s1.insert(72200227);
s1.insert(72211227);
s1.insert(72300327);
s1.insert(72400427);
s1.insert(72500527);
s1.insert(72600627);
s1.insert(72700727);
s1.insert(72800827);
s1.insert(72900927);
s1.insert(80011008);
s1.insert(80100108);
s1.insert(80111108);
s1.insert(80200208);
s1.insert(80211208);
s1.insert(80300308);
s1.insert(80400408);
s1.insert(80500508);
s1.insert(80600608);
s1.insert(80700708);
s1.insert(80800808);
s1.insert(80900908);
s1.insert(81011018);
s1.insert(81100118);
s1.insert(81111118);
s1.insert(81200218);
s1.insert(81211218);
s1.insert(81300318);
s1.insert(81400418);
s1.insert(81500518);
s1.insert(81600618);
s1.insert(81700718);
s1.insert(81800818);
s1.insert(81900918);
s1.insert(82011028);
s1.insert(82100128);
s1.insert(82111128);
s1.insert(82200228);
s1.insert(82211228);
s1.insert(82300328);
s1.insert(82400428);
s1.insert(82500528);
s1.insert(82600628);
s1.insert(82700728);
s1.insert(82800828);
s1.insert(82900928);
s1.insert(90011009);
s1.insert(90100109);
s1.insert(90111109);
s1.insert(90200209);
s1.insert(90211209);
s1.insert(90300309);
s1.insert(90400409);
s1.insert(90500509);
s1.insert(90600609);
s1.insert(90700709);
s1.insert(90800809);
s1.insert(90900909);
s1.insert(91011019);
s1.insert(91100119);
s1.insert(91111119);
s1.insert(91200219);
s1.insert(91211219);
s1.insert(91300319);
s1.insert(91400419);
s1.insert(91500519);
s1.insert(91600619);
s1.insert(91700719);
s1.insert(91800819);
s1.insert(91900919);
s1.insert(92011029);
s1.insert(92100129);
s1.insert(92111129);
s1.insert(92200229);
s1.insert(92211229);
s1.insert(92300329);
s1.insert(92400429);
s1.insert(92500529);
s1.insert(92600629);
s1.insert(92700729);
s1.insert(92800829);
s1.insert(92900929);
s1.insert(100000000);
s1.insert(100011000);
s1.insert(100100100);
s1.insert(100111100);
s1.insert(100200200);
s1.insert(100211200);
s1.insert(100300300);
s1.insert(100400400);
s1.insert(100500500);
s1.insert(100600600);
s1.insert(100700700);
s1.insert(100800800);
s1.insert(100900900);
s1.insert(101011010);
s1.insert(101100110);
s1.insert(101111110);
s1.insert(101200210);
s1.insert(101211210);
s1.insert(101300310);
s1.insert(101400410);
s1.insert(101500510);
s1.insert(101600610);
s1.insert(101700710);
s1.insert(101800810);
s1.insert(101900910);
s1.insert(102011020);
s1.insert(102100120);
s1.insert(102111120);
s1.insert(102200220);
s1.insert(102211220);
s1.insert(102300320);
s1.insert(102400420);
s1.insert(102500520);
s1.insert(102600620);
s1.insert(102700720);
s1.insert(102800820);
s1.insert(102900920);
s1.insert(103011030);
s1.insert(103100130);
s1.insert(103111130);
s1.insert(103211230);
s1.insert(103300330);
s1.insert(103400430);
s1.insert(103500530);
s1.insert(103600630);
s1.insert(103700730);
s1.insert(103800830);
s1.insert(103900930);
s2.insert(10100101);
s2.insert(11111111);
s2.insert(20200202);
s2.insert(21211212);
s2.insert(30300303);
s2.insert(40400404);
s2.insert(50500505);
s2.insert(60600606);
s2.insert(70700707);
s2.insert(80800808);
s2.insert(90900909);
int t;
cin>>t;
LL x;
while(t--)
{
cin>>x;
for(set<LL>::iterator it=s1.begin();it!=s1.end();it++)
{
if(x<*it)
{
cout<<*it<<endl;
break;
}
}
for(set<LL>::iterator it = s2.begin();it!=s2.end();it++)
{
if(x<*it)
{
cout<<*it<<endl;
break;
}
}
}
return 0;
}