USACO1.2.5 双重回文数
来源:互联网 发布:光明大陆 知乎 编辑:程序博客网 时间:2024/05/17 06:33
题目
略
思路
讲道理这应该是一个枚举,可问题是在不知道数据分布的情况下,如果真的到了32位整型,是枚举不出来的
因此先把数据生成一部分看一下规律,是否在s之内最大n的时候枚举范围都在承受范围之内
经过验证一万以内的双重回文数有接近五百个,一万到两万有接近50个,所以可以枚举,一次判定得而时间复杂度不会超过两个0
代码
#include<cmath>#include<queue>#include<cstdio>#include<cctype>#include<vector>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int n,s;vector<int>a;bool jud(int x,int i)//判断x的i进制是不是回文数{ a.clear(); do { a.push_back(x%i); x/=i; }while(x); for(int i=0,j=a.size()-1;i<j;i++,j--) if(a[i]!=a[j]) return 0; return 1;}bool calc(int x)//判断x是不是双重回文数{ int cnt=0; for(int i=2;i<=10;i++) { if(jud(x,i)) { cnt++; if(cnt>=2) return 1; } } return 0;}int main(){ //freopen("in.txt","r",stdin); //freopen("USACO1.2.5附带打表.txt","w",stdout); scanf("%d%d",&n,&s); for(int i=s+1;n;i++) { if(calc(i)) { cout<<i<<endl; n--; } } return 0;}
收获
1、利用一些点可以简化代码,比如说for循环里的条件可以不太相干
2、认真读题,第一次提交就错了,因为要从大于s的开始,这个很吃亏啊
阅读全文
0 0
- USACO1.2.5 双重回文数
- USACO1.2.5 Dual Palindromes(双重回文数)
- USACO1.2.5 Dual Palindromes 双重回文数
- 【洛谷P1207】双重回文数 【USACO1.2】
- luogu1207双重回文数[usaco1.2]Dual Palindromes
- 【枚举】洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes
- 10.10做题——USACO1.2/洛谷1207双重回文数(Dual Palindromes)
- P1207 双重回文数
- USACO1.2.4 回文平方数
- Dual Palindromes双重回文数
- Dual Palindromes 双重回文数
- USCAO1.2 双重回文数
- USACO1.2.4 Palindromic Squares(回文平方数)
- USACO 1.2 双重回文数
- USACO 1.2 双重回文数 (枚举)
- USACO——双重回文数
- 1.2.5 Dual Palindromes 双重回文数
- 【枚举】洛谷 P1206 [USACO1.2]回文平方数 Palindromic Squares
- 接口引用指向实现类的对象
- 初次进入linux的一些操作与命令的使用以及使用帮助
- Po_python_lesson2_基础数据类型_2017/7/19
- ajax
- C#跨线程更新控件(UI)使用delegate方式
- USACO1.2.5 双重回文数
- 嵌入式每日学习心得2017.07.19
- sql
- tcp四次挥手中FIN_WAIT1状态的最大时间是多长?
- 常用控件(ImageView的ScaleType属性,ProgressBar+Handler)
- 用函数求最大值-C入门习题
- 随机产生四位,任意位或者范围数字方法
- java IO 实现剪切本地文件
- git上传项目成功!