程序员人生 网站导航

USCO--1.2Dual Palindromes

栏目:php教程时间:2015-03-19 08:30:11

基本思路同上1题1样,改改上1题的代码就可以过了

代码以下:

/* ID: 15674811 LANG: C++ TASK: dualpal */ #include<iostream> #include<cstring> #include<cstdio> #include<fstream> using namespace std; ofstream fout("dualpal.out"); ifstream fin("dualpal.in"); char str[100]; int check() { ///回文判断统1模板 int len=strlen(str); for(int i=0;i<len/2;i++) if(str[i]!=str[len-i-1]) return 0; return 1; } void dtoB(int i,int B) { int d=i; int cnt=0; while(i) { int k=i%B; i/=B; if(k>=10) { str[cnt++]='A'+k-10; } else str[cnt++]='0'+k; } str[cnt]=''; } int main() { int n,s; while(fin>>n>>s) { int cnt=1; s++; while(cnt<=n) { int flag=0; for(int i=10;i>=2;i--) { dtoB(s,i); if(check()) flag++; if(flag>=2) break; } if(flag>=2) { cnt++; fout<<s<<endl; } s++; } } return 0; }
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐