USACO Section 1.2 Dual Palindromes

来源:互联网 发布:淘宝运营工作职责 编辑:程序博客网 时间:2024/05/16 08:34

大意略。

/*ID:g0feng1LANG:C++TASK:dualpal*/#include <iostream>#include <fstream>#include <cstdlib>#include <cstdio>#include <string>#include <cstring>#include <cmath>#include <map>#include <algorithm>#include <stack>using namespace std;ofstream fout("dualpal.out");ifstream fin("dualpal.in");const int maxn = 100010;int b[maxn];int n, s;void read_case(){fin>>n>>s;}int check(int *a, int n){for(int i = 0; i < n/2; i++) if(a[i] != a[n-1-i]) return 0;return 1;}int change(int n, int base){int s = n;int len2 = 0;s = n;while(s){int t = s % base;s /= base;b[len2++] = t;}if(check(b, len2)) return 1;return 0;}void solve(){read_case();int tot = 0;for(int i = s+1; ; i++){int ans = 0;for(int j = 2; j <= 10; j++){if(change(i, j)){ans++;if(ans == 2){tot++;fout<<i<<endl;break;}}}if(tot == n) break;}return ;}int main(){solve();return 0;}