您当前的位置: 首页 >  蓝桥杯

不牌不改

暂无认证

  • 0浏览

    0关注

    422博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[蓝桥杯][算法提高VIP]产生数

不牌不改 发布时间:2021-08-05 10:00:42 ,浏览量:0

题目

题目链接

题解

DFS + 高精度。

大致说一下题目意思: 给出一组变化方式,允许数字a变到数字ba,b属于1~9; 有一个最多三十位的数,问这个数最多可以变成多少个数(含自己)。

怪不得正确率这么低,都是因为忘记开高精度了!

先不考虑高精度,我们来实现一下:

每一位都是独立的,因此我们求出每一位的数最多有多少种变化方式,之后每一位的变化方式数相乘就是最终答案,这样算正好结果也包含原数的情况。

这里求每一位的变化方式数用到dfs,只要遍历过就不再遍历了,dfs部分代码如下:

void dfs(int x) {
	for(int i = 0;i a>>b, v[a].push_back(b);
	
	for(int i = 0;i = 1;i --) cout            
关注
打赏
1662186765
查看更多评论
0.0414s