南沙C++信奥老师解一本通题: 1361:产生数(Produce)

 [题目描述】

给出一个整数n(n≤2000)和k个变换规则(k≤15)。规则:

① 1个数字可以变换成另1个数字;

② 规则中,右边的数字不能为零。

例如:n=234,k=2规则为

2 → 5

3 → 6

上面的整数234经过变换后可能产生出的整数为(包括原数)234,534,264,564共4种不同的产生数。

求经过任意次的变换(0次或多次),能产生出多少个不同的整数。仅要求输出不同整数个数。

【输入】

 

【输出】

格式为一个整数(满足条件的整数个数)。

【输入样例】

234
2
2 5
3 6

【输出样例】

4

 

#include <bits/stdc++.h>
using namespace std;
int n,k,ans=1,v[10001],b[5],cnt; //v数组要设大,设成2000过不了,因为转换后数数可能9000 
struct Node
{int x,y;
}a[20];
void numtoArr(int n)
{	int tmp[5];cnt=0;while(n){tmp[cnt++]=n%10;n/=10;}for(int i=cnt-1,j=0;i>=0;i--,j++)b[j]=tmp[i];
}
int arrToNum()
{int newnum=0;for(int i=0;i<cnt;i++)newnum=newnum*10+b[i];return newnum;
}
void bfs(queue<int> q)
{while(q.empty()==false){int cur=q.front();q.pop();v[cur]=1;		numtoArr(cur);   //将队首元素转换成数组按顺序存放 for(int i=0;i<cnt;i++)  //查看数的每一位{		for(int j=1;j<=k;j++){		if(b[i]==a[j].x)  //有需要替换的{	b[i]=a[j].y; int newn=arrToNum();	if( v[ newn] ==0 ){	ans++;v[newn]=1;q.push(newn) ;	}//ifb[i] = a[j].x;//还原,否则只能用一次 }//if		}//for j	}//for i}//while
}
int main()
{cin>>n>>k;memset(v,0,sizeof(v));queue<int> q;for(int i = 1; i <= k; ++i)cin >> a[i].x >> a[i].y;	q.push(n);v[n]=1;bfs(q);cout<<ans;return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/797509.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Switch大气层游戏下载服务及实测列表

朗读全文Your browser does not support the audio element. 有什么用/怎么用 更新实测的Switch大气层中安装的游戏列表, 分享安装和测试体验, 列表会不定时更新 已记录实测了的Switch游戏会在本地存储, 方便客户直接从本地快速获取 (请联系博主, 提供线上线下有偿安装服务…

WIFI远程无线中继之K2P刷机Padavan无线桥接功能

WI-FI无线中继, 无线桥接, 扩大WIFI信号覆盖范围/面积朗读全文Your browser does not support the audio element. 有什么用/怎么用 本文仅围绕着有限的硬件投入情况下, 如何扩大WIFI信号覆盖范围/面积. 抛砖引玉, 如果您有更好的方案, 请大方地留言告诉我, 提前感谢 需求…

Switch串流PC让Switch运行PC或Steam大作

游戏串流: 游戏的计算和渲染过程发生在远程服务器上(而不是玩家的本地设备上), 本地设备可以轻松游玩远程游戏(这个远程游戏的概念很广, 可是是PC, Steam游戏, 安卓游戏等等. 本文的讨论范围可以理解为大型游戏被投屏到了Switch主机屏幕上, 并且用Switch的外设可直接操控游戏)朗…

0基础学Pine量化 动态EMA改进

动态EMA改进改进前 源策略是基于唐奇安上下轨,先看看15mink线USDT的2023.7.30-2024.7.30的结果下面是2022-7-30到2023-7-30下面是2021-7-30到2022-7-30改进后 加入动态EMA和止盈止损 15mink线USDT的2023.8.30-2024.8.30的结果下面是2022-7-30到2023-7-30下面是2021-7-30到2022…

决策论——决策模型三要素精解

运筹学中的决策论主要针对不确定环境下的决策问题,提供数学化和系统化的工具,帮助决策者在复杂情境中选择最优方案。相比一般的决策分析,运筹学更注重定量分析,借助模型、损益表等工具,将不确定性和风险因素纳入考虑。决策模式可以分为确定性、风险性和不确定性三种,每种…

Cisco Modeling Labs (CML) 2.7.2 发布下载,新增功能概览

Cisco Modeling Labs (CML) 2.7.2 发布下载,新增功能概览Cisco Modeling Labs (CML) 2.7.2 - 网络仿真工具 思科建模实验室 (CML) 请访问原文链接:https://sysin.org/blog/cisco-modeling-labs-2/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.orgCisco Modelin…

读构建可扩展分布式系统:方法与实践04应用服务

应用服务1. 应用服务 1.1. 任何系统的核心都在于实现应用需求的特定业务逻辑 1.2. 服务是可扩展软件系统的核心1.2.1. 它们将契约定义为一个API,向客户端声明它们的能力1.3. 应用服务器高度依赖于编程语言,但通常都会提供多线程编程模型,允许服务同时处理许多请求 1.4. 多服…

【极速下载】Vmware17.5.2官方最新版本2024网盘下载

Mware简介VMware 是一款强大的虚拟化软件。它能在一台物理机上同时运行多个操作系统,实现资源高效利用。可用于服务器虚拟化、桌面虚拟化等。提高系统可靠性、可扩展性与安全性,降低成本和管理复杂度。VMware广泛应用于企业数据中心和云计算领域,是 IT 重要工具。 VMware最…

Junior.Crypt.2024 CTF - Forensics

补充学习了有关evtx以及注册表的知识Junior.Crypt.2024 CTF - Forensics 部分题目复现参考: https://blog.jacki.cn/2024/07/05/Junior_Crypt_2024_CTF/#SAMBO-wrestler https://yocchin.hatenablog.com/entry/2024/07/08/124230 标注“#”表示未复现,日后有机会补上吧 题目地…