UVa-1583-生成元
来源:互联网 发布:下载qq注册软件 编辑:程序博客网 时间:2024/05/22 06:59
题意:如果x加上x的各个数字之和得到y,就说x是y的生成元,给出n(1<=n<=100000),求最小生成元。无解输出0.例如,n=216,121,2005时的解分别为198,0,1979.
【解析】
这道题的话其实我们仔细看就会发现我们y的生成元肯定是比y小的,所以我们一个方法就是枚举从1到y-1。但是这样效率也太低了...你总是要不断的去枚举..所以我们这里采取打表..预处理。这样我们之后只需要查询就可以了。时间复杂度顿时下去了...此处附上刘汝佳老师书上的代码论证
#include<stdio.h>#include<string.h>#define maxn 100005int a[maxn];int main(){ int t,n,m,x,y; memset(a,0,sizeof(a));//数组初始化 for(m=1;m<maxn;m++) { x=m; y=m; while(x>0) { y+=x%10;//计算各个位置数字之和 x/=10; } if(a[y]==0||m<a[y]) a[y]=m;//下标存储数字,值存储生成元 } scanf("%d",&t); while(t--) { scanf("%d",&n); printf("%d\n",a[n]); } return 0;}
0 0
- UVa-1583 生成元
- UVa-1583-生成元
- Uva(Digit Generator,1583) 生成元
- UVa 1583 Dighter Generator(生成元)
- UVA 1583 Digit Generator(最小生成元+打表)
- Digit Generator 生成元(P52) / UVA
- 生成元
- 生成元
- 生成元
- 生成元
- 生成元
- 生成元
- 生成元
- 20160321 UVa RUJIA 算法竞赛入门经典:镜像回文,生成元,环状序列
- 求最小生成元
- 循环群生成元
- 生成元-uva1583
- 生成元 手打
- 析构函数私有化
- 在新版本caffe里添加新的一层(向旧格式中加)
- Java StringUtils
- android RecyclerView 讲解
- Android开发之----客户端清理缓存
- UVa-1583-生成元
- 解决 Qt 使用 PNG 图片时报错:libpng warning: iCCP: known incorrect sRGB profile
- 如何将一个纯数字数组里的元素全部相加
- USB与FPGA的联合应用架构
- 决策树算法的优缺点
- 随笔——腾讯
- 根据网络请求返回值 创建Menu
- google Map 在手机上是否可以使用的判断
- 在caffe-windows下跑自己的数据集leveldb格式 或者lmdb