寻找生成元问题解决(Digit Generator,ACM/ICPC Seoul 2005, UVa1583)
问题描述:如果x加上x的各个数字之和得到y,就说x是y的生成元。给出n(1<=n<=10000),求最小生成元。无解时输出0。例如 n = 216,121,2005 时的解分别为198,0,1979。
简单做法为两种,第一种为直接枚举,第二种为查表。
//查表
#include<stdio.h>
#include<string.h>
#define maxn 10005
int ans[maxn];//数组定义在main之外
int main()
{int n;memset(ans,0,sizeof(ans));//清空数组for(int m = 1 ; m < maxn; m++){int x = m,y = m;while(x > 0){ y += x % 10; x /= 10;}//寻找生成元if(ans[y] == 0 || m < ans[y]) ans[y] = m;//查看是否为最小生成元}scanf("%d",&n);if(ans[n] != 0) printf("%d\n",ans[n]);else printf("0");return 0;
}
//枚举
int main() {int n;scanf("%d", &n);for (int i = 1; i <= n; i++) {if (i / 100 + (i / 10) % 10 + i % 10 + i == n) {printf("%d\n", i);break;}}return 0;
}
寻找生成元问题解决(Digit Generator,ACM/ICPC Seoul 2005, UVa1583)相关推荐
- 例题3-5 生成元(Digit Generator, ACM/ICPC Seoul 2005, UVa1583)
如果x加上x的各个数字之和得到y,就说x是y的生成元.给出n(1≤n≤100000),求最小 生成元.无解输出0.例如,n=216,121,2005时的解分别为198,0,1979. 先附上自己的想法 ...
- 《算法竞赛入门经典》 例题3-5 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
原题及翻译 For a positive integer N , the digit-sum of N is defined as the sum of N itself and its digits ...
- 生成元(Digit Generator ,ACM/ICPC Seoul 2005 ,UVa 1583)
生成元:如果 x 加上 x 各个数字之和得到y,则说x是y的生成元. n(1<=n<=100000),求最小生成元,无解输出0. 例如:n=216 , 解是:198 198+1+9+8=2 ...
- 得分(Score,ACM/ICPC Seoul 2005,UVa1585)
给出一个由O和X组成的串(长度为1~80),统计得分.每个O的得分为目前连续出现的O的个数,X的得分为0.例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3. 输入样例 5 OO ...
- 《算法竞赛入门经典》习题3-1 得分(Score,ACM、ICPC Seoul 2005,UVa1585)
原题及翻译 There is an objective test result such as "OOXXOXXOOO". 有一个客观的测试结果,比如"ooxxoxoo& ...
- 习题3-3 数数字(Digit Counting , ACM/ICPC Danang 2007, UVa1225)
前n(n≤10000)个整数顺次写在一起:123456789101112-数一数0-9各出现多少次 (输出10个整数,分别是0,1,-,9出现的次数). 原题链接:https://vjudge.net ...
- 例题3-6 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
长度为n的环状串有n种表示法,分别为从某 个位置开始顺时针得到.例如,图3-4的环状串 有10种表示: CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等.在这些表示法中,字典序最小的 ...
- 3-7 DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368)
输入m个长度均为n的DNA序列,求一个DNA序列,到所有序列的总Hamming距离尽量 小. 两个等长字符串的Hamming距离等于字符不同的位置个数,例如,ACGT和GCGA的 Hamming距离为 ...
- 环状序列(Circular Sequence,ACM/ICPC Seoul 2004,UVa1584)
长度为n的环状串有n种表示法,分别为某个位置开始顺时针得到.CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等.在这些表示法中,字典序最小的称为"最小表示".输入一 ...
最新文章
- pandas使用nsmallest函数返回特定数据列中前N个最小值(搜寻最小的n个元素)、pandas使用nsmallest函数返回特定数据列中前N个最小值所对应的数据行
- ks检验正态分布结果_【学习】AD, RJ和KS哪种正态性检验是最好的?
- 如何让 zend studio 10 识别 Phalcon语法并且进行语法提示
- 二分查找离左边元素最近的(可以等于)
- Python 列表 min() 方法
- Delphi 解压缩 ZipForge
- 基于OSSIM平台下华为交换机日志收集插件的开发
- python 客户端_Python客户端
- SAP MM批次管理(1)物料与批次
- Download ebook from Syngress Publishing
- niceScroll滚动条出现在div的左侧(PS:原本应该出现在div右侧)
- R语言混合线性模型包代码演示
- 浪潮服务器开启虚拟化功能,浪潮服务器-虚拟化解决方案.ppt
- 印象码——中国第一款视频广告验证码
- 分布式系列_MQ_01_MQ简介
- 堆排序和快排与归并排序
- (用函数解决)Python报数游戏,输入有n个人按顺序编号,从第一个人报数,输入报数k,从1到k,报到k的退出游戏,从下一个人继续游戏,并求最后剩下的人编号是几号。
- Subresource Integrity 介绍
- 测绘——通过手机和smart3D创建三维模型
- 3个免费、无损压缩图片的工具,一键解决图片过大问题
热门文章
- 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。
- 时间序列分解论文STL: A Seasonal-Trend Decomposition Procedure Based on Loess
- 机器学习-降维算法(MDS算法)
- 帮我下载 MySQL tokudb 安装包
- 主R 主A 什么意思
- Kafka消费者与消费组
- 使用ARM-LPC3131上的nandflash实现U盘模式心得(一)
- MATLAB调用LINGO程序并交换数据
- 物种组成相对丰度(百分比)堆叠柱状图
- 蓝桥杯每日一题(既约分数)