/* ID: mingcha1 PROG: dualpal LANG: C++ */ #include<iostream> #include<iomanip> #include<cstring> #include<fstream> #include<string> using namespace std; ifstream fin("dualpal.in"); ofstream fout("dualpal.out"); //#define DEBUG #ifdef DEBUG #define in cin #define out cout #else #define in fin #define out fout #endif const int SIZE=100; char str[SIZE]; void conv(int n,int b){ int i=0; while(n/b){ str[i++]=n%b+'0'; n/=b; } str[i++]=n%b+'0'; str[i]='/0'; /*for(int j=0;j<=i;++j) cout<<str[j]; cout<<endl;*/ } int judge(){ char tmp[SIZE]; int len=strlen(str),flag=0; for(int i=0;str[i];++i){ tmp[len-1-i]=str[i]; } for(int i=0;str[i];++i){ if(str[i]!=tmp[i]){ flag=1; break; } } if(flag==1) return 0; else return 1; } int main(){ int n,s; in>>n>>s; int cnt=0; for(int i=s+1;;++i){ int flag=0; for(int j=2;j<=10;++j){ conv(i,j); if(judge()==1){ flag++; if(flag>=2) break; } } if(flag==2){ out<<i<<endl; cnt++; if(cnt>=n) break; } } }
usaco_dualpal
最新推荐文章于 2024-06-12 20:44:27 发布