`

【水题】USACO Dual Palindromes

阅读更多
进入USACO要注册才能看题: http://train.usaco.org/usacogate

题目:【翻译版、是别处的网站】http://www.wzoi.org/usaco/13%5C106.asp

SAMPLE INPUT (file dualpal.in)
3 25

SAMPLE OUTPUT (file dualpal.out)
26
27
28


又一水题


/*
ID: 1006100071
PROG: dualpal
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <algorithm>
#include <string>
#include <set>
//#include <map>
#include <queue>
#include <utility>
#include <iomanip>
#include <stack>
#include <list>
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <ctype.h>
using namespace std;

void my_itoa (int n, char *s, int b)	//n为0时失效!
{
	int k = 0;
	while (n)
	{
		s[k++] = n % b + '0';
		n /= b;
	}
	s[k] = 0;
	//cout << s << endl;
}
bool palind (char *s)
{
	int i, len;
	len = strlen (s);
	for (i = 0; i < len / 2; i++)
		if (s[i] != s[len-1-i])
			return false;
	//cout << "yes\n";
	return true;
}
bool isok (int n)
{
	int i, k = 0;
	char s[30];
	for (i = 2; i <= 10; i++)
	{
		my_itoa (n, s, i);
		if (palind (s))
			k++/*, cout << s << endl*/;
		if (k > 1)
			return true;
	}
	return false;
}
int main()
{
	/*freopen ("dualpal.in", "r", stdin);
	freopen ("dualpal.out", "w", stdout);*/
	int i, n, k = 0, s;
	scanf ("%d%d", &n, &s);
	for (i = s + 1; k < n; i++)
	{
		if (isok (i))
			printf ("%d\n", i), k++;
	}
	return 0;
}
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics