1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| #include <bits/stdc++.h> #define ll long long #define int long long #define Orz ios::sync_with_stdio(0),cin.tie(0) #define N 51 #define FOR(i,n) for(int i=0;i<n;i++) #define pii pair<int,int> #define pid pair<int,double> #define pdi pair<double,int> using namespace std; int n,m;
vector<int>ans;
bool leap(int temp){ return (((temp%4)==0 &&(temp%100)!=0)||(temp%400)==0); }
void check(string s){ string temp = s; reverse(temp.begin(),temp.end()); if(temp==s)ans.push_back(stoi(s)); }
void solve(){ cin>>n; ans.clear(); int month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; month[2]+=((leap(n))?1:0); for(int i=1;i<=12;i++){ for(int j=1;j<=month[i];j++){ check(to_string(n)+to_string(i)+to_string(j)); if(i<10)check(to_string(n)+"0"+to_string(i)+to_string(j)); if(j<10)check(to_string(n)+to_string(i)+"0"+to_string(j)); if(i<10 && j<10)check(to_string(n)+"0"+to_string(i)+"0"+to_string(j)); } } sort(ans.begin(),ans.end()); cout<<ans.size(); for(auto i:ans)cout<<" "<<i; cout<<endl; }
signed main(){ Orz; int t;cin>>t; while(t--){ solve(); } }
|