USACO-Section1.2 Dual Palindromes

来源:互联网 发布:淘宝oppo手机 编辑:程序博客网 时间:2024/06/03 12:52

Dual Palindromes

与Palindromic Squares类似,流程略有不同。
代码如下:

/*ID: xhzdcyy1PROB: dualpalLANG: C++         */#include <iostream>#include <fstream>#include <string>#include<map>#define cin fin#define cout fout using namespace std;ofstream fout ("dualpal.out");ifstream fin ("dualpal.in");string func(int a,int b){    string res="";    int tmp;    while(a){        tmp=a%b;        if(tmp<10){            res=char(tmp+'0')+res;        }        else{            res=char(tmp+'A'-10)+res;        }        a/=b;    }    return res;}bool check(string a){    int l=a.length();    for(int i=0;i<l/2;i++){        if(a[i]!=a[l-1-i]) return false;    }    return true;}int main(){    int n,s;    cin>>n>>s;    int t1=0,t2;    for(int i=s+1;t1<n;i++){        t2=0;        for(int k=2;k<=10;k++){            if(check(func(i,k))){                ++t2;            }            if(t2==2){                cout<<i<<endl;                ++t1;                break;            }        }    }    return 0; }