problem

  • 给定一个整数n和k个变换规则(一位数可变换成另一个一位数)
  • 经过任意次的变换( 0 次或多次),能产生出多少个不同整数
  • n < 1e30, k <= 15

例:
n=234 。有规则( k=2 ):22 -> 55 且 33 -> 66
则能产生234、534、264、564四种数

solution

  • 一共有15种操作,说明一个数能变成多个不同的数。比如a->b,且b->c,那么存在a->c。可以DFS搜索出每个数能到达的其他所有数的个数(1~9)
  • 最多可能有30位数,所以复杂度上限O(9^30)。乘法要用高精且每次乘数不超过9。

codes

#include<iostream>
#include<string>
#include<cstring>
using namespace std;//search
const int maxk = 20;
int op[maxk][maxk], ss, vis[maxk];
void dfs(int x){if(vis[x])return ;vis[x] = 1;  ss++;for(int i = 0; i <= 9; i++)if(op[x][i])dfs(i);
}//高精度 *= 低精(只有1位)
int val[33], len = 1;
void mul(int x){int t = 0; //进位for(int i = 1; i <= len; i++){val[i] = val[i]*x+t;t = val[i]/10;val[i] %= 10;}if(t > 0)val[++len] = t;return ;
}int main(){//dateinstring s; int k;  cin>>s>>k;if(k==0){cout<<1;return 0;}for(int i = 1; i <= k; i++){int a, b;  cin>>a>>b;  op[a][b] = 1;}//每个数可以转化的个数val[1] = 1; //高精初始化for(int i = 0; i < s.size(); i++){memset(vis,0,sizeof(vis));  ss=0;//初始化dfs(s[i]-'0');//搜索并更新ss的值mul(ss);//累加答案}//dateoutfor(int i = len; i >= 1; i--)cout<<val[i];cout<<'\n';return 0;
}

【NOIP2002】【Luogu1037】产生数(高精乘低精,DFS暴力搜索)相关推荐

  1. 《信息学奥赛一本通》 高精除以低精。输入两个正整数,求它们的商(做整除)。

    代码 #include <iostream> #include <cstring> #include <cstdio> using namespace std; i ...

  2. 高吞吐、低延迟 Java 应用的 GC 优化实践

    2019独角兽企业重金招聘Python工程师标准>>> 背景 高性能应用构成了现代网络的支柱.LinkedIn 内部有许多高吞吐量服务来满足每秒成千上万的用户请求.为了获得最佳的用户 ...

  3. Nginx多进程高并发、低时延、高可靠机制在缓存(redis、memcache)twemproxy代理中的应用...

    1. 开发背景 现有开源缓存代理中间件有twemproxy.codis等,其中twemproxy为单进程单线程模型,只支持memcache单机版和redis单机版,都不支持集群版功能. 由于twemp ...

  4. webgl限制帧率_从《长安十二时辰》到《Science Advances》:大帧数高帧率超表面动态全息显示新方法...

    2019年秋季的一个夜晚,结束了一天科研任务的高辉博士决定看看最近热播的古装电视剧--由 @马伯庸 老师同名小说改编的<长安十二时辰>--放松一下心情.当主角在长安城中上下翻飞时,高博士却 ...

  5. 高地址和低地址、高字节低字节、大小端模式的转换,存储顺序

    参考博客 https://blog.csdn.net/ce123_zhouwei/article/details/6971544 https://my.oschina.net/alphajay/blo ...

  6. BDS-HA:构建高可用、低延迟的HBase服务

    HBase可以支持百TB数据规模.数百万QPS压力下的毫秒响应,适用于大数据背景下的风控和推荐等在线场景.阿里云HBase服务了多家金融.广告.媒体类业务中的风控和推荐,持续的在高可用.低延迟.低成本 ...

  7. 网易数帆发布轻舟低代码平台2.0,聚焦中等复杂度企业级应用

    编辑 | 宋 慧 出品 | CSDN云计算 头图 | 轻舟低代码平台2.0发布会现场 8月26日,网易数帆正式发布轻舟低代码应用开发平台2.0版本(以下简称"轻舟低代码平台"),以 ...

  8. 云小课|打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:逻辑集群是基于No ...

  9. 多模块顺序_软件架构基础 3: 什么是好的模块化代码?高内聚、低耦合如何衡量?...

    0. 写在前面 什么是好的代码?好的代码应该模块化. 王垠在其<编程的智慧>中也提到,要"写模块化的代码".(不对人做评价,这篇文章写得是非常好的.) 如果你读过< ...

最新文章

  1. 深入理解MySQL执行过程及执行顺序
  2. oracle中代替in 和not in 高效方法
  3. 计算机d盘无法格式化,电脑D盘无法格式化怎么办 D盘无法格式化问题解决办法...
  4. Linux下安装FFmpeg
  5. 加载gif_搞笑gif:这啥情况啊?笑容加载不出来了?
  6. 遍历Page的Controls集合
  7. Android项目目录结构中各个文件夹的作用
  8. ASP.NET MVC 在项目中使用面包屑导航
  9. 怎么把pdf文件转换成word文件
  10. 使用tuned/tuned-adm工具动态调优你的CentOS系统
  11. 机载激光雷达原理与应用科普(一)
  12. 08_基于IP的伪装
  13. 操作系统实验一到实验九合集(哈工大李治军)
  14. 计算机办公软件office的考试试题,中职计算机办公软件Word2010年最新考试试题.doc...
  15. JAVA基础精选面试题(持续更新,一天五道,祝各位道友,早日飞升上仙)!
  16. mysql统计用户留存_SQL 统计用户留存
  17. 通过PS制作手机图标心得总结
  18. linux抢占式调度
  19. LED圆柱屏、波浪屏、飘带屏等异形屏是由柔性软模组构成的创意LED显示屏
  20. 国家食品药品监督管理局投诉举报

热门文章

  1. 卷积(convolution)与相关(correlation)(matlab 实现)
  2. 大江大海 —— 淮河、澜沧江(湄公河)
  3. 空间波(space wave)
  4. C Tricks(十二)—— 获取字符数组的末尾元素
  5. Python 进阶 —— 使用修饰器执行函数的参数检查
  6. Tricks(二十九)—— 2^10000 的位数
  7. C++基础::Stream(二)
  8. Java占Linux超过xms,linux下分析java程序占用CPU、内存过高
  9. python和java学哪个好-Python和Java该学哪个?还在纠结的你看过来呀~
  10. python爬虫什么意思-这样学Python爬虫,想爬什么爬什么