P1207 [USACO1.2]双重回文数 Dual Palindromes

  • 291通过
  • 462提交
  • 题目提供者该用户不存在
  • 标签USACO
  • 难度普及-

提交  讨论  题解

最新讨论

  • 暂时没有讨论

题目描述

如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做“回文数”。例如,12321就是一个回文数,而77778就不是。当然,回文数的首和尾都应是非零的,因此0220就不是回文数。

事实上,有一些数(如21),在十进制时不是回文数,但在其它进制(如二进制时为10101)时就是回文数。

编一个程序,从文件读入两个十进制数N (1 <= N <= 15)S (0 < S < 10000)然后找出前N个满足大于S且在两种或两种以上进制(二进制至十进制)上是回文数的十进制数,输出到文件上。

本问题的解决方案不需要使用大于32位的整型

输入输出格式

输入格式:

只有一行,用空格隔开的两个数N和S。

输出格式:

N行, 每行一个满足上述要求的数,并按从小到大的顺序输出。

输入输出样例

输入样例#1

3 25

输出样例#1

26

27

28

说明

题目翻译来自NOCOW。

USACO Training Section 1.2

分析:题目没有给出明确的上限,似乎有点不好做,发现N比较小,并且只需要在2进制到10进制中寻找,那么可以直接从s+1枚举,直到有N个为止,对于本题最好不要使用定长数组,我作死的用了一下AC了,但是不建议这么做,至于进制转换和回文数的判断,可以参考我的上一篇博文:传送门

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; int n, s,num; bool check(int x, int jinzhi)
{
int a[],i = ;
while (x)
{
a[++i] = x % jinzhi;
x /= jinzhi;
}
int t = i;
while (i && a[i] == a[t - i + ])
i--;
if (i == )
return true;
return false;
} int main()
{
scanf("%d%d", &n, &s);
for (int i = s + ; num < n; i++)
{
int temp = ;
for (int j = ; j <= ; j++)
{
if (check(i, j))
temp++;
if (temp == )
break;
}
if (temp == )
{
printf("%d\n", i);
num++;
}
} return ;
}

洛谷P1207 [USACO1.2]双重回文数 Dual Palindromes的更多相关文章

  1. 洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes

    P1207 [USACO1.2]双重回文数 Dual Palindromes 题目描述 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做“回文数”.例如,12321就是一个回文数,而7777 ...

  2. USACO Training Section 1.2 双重回文数 Dual Palindrom

    题目描述 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做"回文数".例如,12321就是一个回文数,而77778就不是.当然,回文数的首和尾都应是非零的,因此0220就 ...

  3. 【洛谷P1207】双重回文数 【USACO1.2】

    P1207 [USACO1.2]双重回文数 Dual Palindromes 题目描述 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做"回文数".例如,12321就是一 ...

  4. COGS 678. 双重回文数

    ★   输入文件:dualpal.in   输出文件:dualpal.out   简单对比时间限制:1 s   内存限制:128 MB Dual Palindromes 双重回文数 描述 [USACO ...

  5. luogu1207双重回文数[usaco1.2]Dual Palindromes

    题目描述 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做“回文数”.例如,12321就是一个回文数,而77778就不是.当然,回文数的首和尾都应是非零的,因此0220就不是回文数. 事实上 ...

  6. 【USACO 1.2.5】双重回文数

    [题目描述] 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做“回文数”.例如,12321就是一个回文数,而77778就不是.当然,回文数的首和尾都应是非零的,因此0220就不是回文数. 事 ...

  7. [Swift]LeetCode906. 超级回文数 | Super Palindromes

    Let's say a positive integer is a superpalindrome if it is a palindrome, and it is also the square o ...

  8. 2018.06.29 洛谷P2890 [USACO07OPEN]便宜的回文(简单dp)

    P2890 [USACO07OPEN]便宜的回文Cheapest Palindrome 时空限制 1000ms / 128MB 题目描述 Keeping track of all the cows c ...

  9. 洛谷oj U3936(分成回文串) 邀请码:a0c9

    题目链接:传送门 题目大意:略 题目思路:DP 先预处理,分别以每个字母为中心处理能形成的回文串,再以两个字母为中心处理能形成的回文串. 然后 dp[i] 表示1~i 能形成的数目最少的回文串. 转移 ...

随机推荐

  1. asp.net中Respons.Write()的用法

    很多时候,我们为了是页面的传输速率更高.很自然回去选择脚本和ajax结合进行传值,在传值如要向页面回传数据时,可能只有一次也会是多次.一次的情况下我们可以很好的用Respons.End()方法来截取我 ...

  2. Spring初理解

    spring配置文件是一个xml格式的文件,类似如下: <beas> <bean id= 'a' class = '包名.类名'></bean> <bean ...

  3. VALGRIND

    系统编程中一个重要的方面就是有效地处理与内存相关的问题.你的工作越接近系统,你就需要面对越多的内存问题.有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦.所以,在实践中会用到很多工具来 ...

  4. sublime运行c++快捷建修改

    打开preferences->key bingings -user 输入 [ {"keys": ["f9"], "command": ...

  5. VMware和CentOS7安装和配置

    准备工作: 下载: 1.VMware-workstation-full-10.0.0-1295980 2.CentOS-7-x86_64-DVD-1511.iso 安装: 1.VMware-works ...

  6. apache重写规则自动追加查询参数QSA

    看好多大网站上的搜索都是以.html?keyword=手机&page=abc这个样子表现, 如: search_goods.html?q=%BF%D5%C6%F8%BE%BB%BB%AF%C6 ...

  7. studio--问题

    2,Android studio 怎么能删除干净一个module? 工程→open module settings→选中你要删除的module,然后点“一”,确定后返回,即可在module邮件下看到d ...

  8. JAVA取随机数,石头剪刀布实例

    一.取随机数: import java.util.Random; //导入随机数 public class Test{ public static void main(String[] args){ ...

  9. CentOS 防火墙打开和关闭端口(转载)

    From:http://jianzhong5137.blog.163.com/blog/static/982904920126202313376/ http://soft.chinabyte.com/ ...

  10. mac下使用github

    提起github相信大家都不会陌生,在这里就不再赘述了.作为开源代码库以及版本控制系统,使用好了确实会非常受益,再说的势利点,你找工作时给面试官说你经常维护自己的技术博客和github,相信你给他的印 ...