dualpal.cpp

来自「dd牛的usaco源代码!对学习算法」· C++ 代码 · 共 47 行

CPP
47
字号
/*
ID: dd.ener1
PROG: dualpal
LANG: C++
*/
#include <fstream>
using namespace std;

bool is_pals(const string& s){
	long long l=0,r=s.length()-1;
	while(l<r){
		if(s[l]!=s[r])return false;
		++l;--r;
	}
	return true;
}
string Num2Str(long long n,long long B){
	static const char set[20]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J'};
	string res;
	do{
		res+=set[n%B];
		n/=B;
	}while(n!=0);
	return res;
}
int main(){
	long long n,s;
	{
		ifstream cin("dualpal.in");
		cin>>n>>s;
	}
	ofstream cout("dualpal.out");
	do{
		++s;
		long times=0;
		for(long b=2;b<=10;++b){
			if(is_pals(Num2Str(s,b)))++times;
			if(times>=2){
				cout<<s<<endl;
				--n;
				break;
			}
		}
	}while(n);
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?