/*
ID: ahshenb1
PROG: dualpal
LANG: C++
*/
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
string base = "0123456789ABCDEFGHIJ";
string trans(int i,int n)
{
string res;
while(i>=n){
// cout<<i%n<<endl;
res +=base[i%n];
i = i/n;
}
res+=base[i];
return res;
}
bool check(string res){
int s =res.size();
bool result =true;
for(int i=0;i<s/2;++i){
if(res[i]!=res[s-i-1])
{
result = false;
break;
}
}
return result;
}
int main()
{
ifstream fin("dualpal.in");
ofstream fout("dualpal.out");
int n;int start;
fin>>n>>start;
int count = 0;
while(1){
int manzu = 0;
for(int i=2;i<=10;++i){
if(check(trans(start+1,i))){
manzu++;
if(manzu==2){
fout<<start+1<<endl;
break;
}
}
}
if(manzu>=2)
count++;
manzu = 0;
if(count==n)
break;
start++;
}
return 0;
}
【USACO】dualpal
最新推荐文章于 2018-12-19 18:07:35 发布