/*
ID: cjn77881
LANG: C++
TASK: dualpal
*/
#include <stdio.h>
#include <string.h>
typedef struct RubyArray RubyArray;
struct RubyArray{
char a[500];
};
RubyArray getNumber(int x,int b){
RubyArray number;
if (x == 0){
strcpy(number.a,"");
return number;
}
number = getNumber(x/b,b);
int len = strlen(number.a);
number.a[len] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[x % b];
number.a[len+1] = '\0';
return number;
}
bool pal(RubyArray x){
char *s,*t;
s = &x.a[0];
t = strlen(s) + s -1;
for (;s<t;s++,t--) if (*s != *t) return false;
return true;
}
int N,S,x,ans,js;
RubyArray tmp;
int main(){
FILE *fin = fopen("dualpal.in","r");
FILE *fout = fopen("dualpal.out","w");
fscanf(fin,"%d %d",&N,&S);
x = S+1; ans = 0;
while (ans<N){
js = 0;
for (int b=10;b>1;b--){
tmp = getNumber(x,b);
if (pal(tmp)) js++;
if (js == 2){
fprintf(fout,"%d\n",x);
ans++;
break;
}
}
x++;
}
return 0;
}
USACO 1.3.5_dualpal
最新推荐文章于 2021-07-20 14:55:26 发布