基本思路同上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;
}