【题目描述】

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

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

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

例如:n=234,k=2规则为2 → 5,3 → 6

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

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

【输入】

n

k

x1 x2 … xn

y1 y2 … yn

【输出】

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

【输入样例】

234
2
2 5
3 6

【输出样例】

4

【源程序】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 10001
#define MOD 123
#define E 1e-6
using namespace std;
int vis[N];
char q[N][10];
struct node{int x;int y;
}b[20];
int turn(char s[],int len)
{int ans=0;for(int i=0;i<len;i++){ans*=10;ans+=s[i]-'0';}return ans;
}
int main()
{char s_t[10];char s[10];int k;cin>>s;int len=strlen(s);cin>>k;for(int i=1;i<=k;i++)cin>>b[i].x>>b[i].y;int head=1,tail=1;int cnt=1;strcpy(q[tail],s);tail++;vis[turn(s,len)]=1;while(head<tail){for(int i=1;i<=k;i++){strcpy(s_t,q[head]);for(int j=0;j<len;j++)if(s_t[j]==b[i].x+'0'){s_t[j]=b[i].y+'0';int d=turn(s_t,len);if(vis[d]==0){vis[d]=1;strcpy(q[tail],s_t);tail++;cnt++;}strcpy(s_t,q[head]);//初始化s_t}}head++;}cout<<cnt<<endl;return 0;
}

产生数(信息学奥赛一本通-T1361)相关推荐

  1. 信息学奥赛一本通 1244:和为给定数 通过

    我的信息学奥赛一本通个人主页:信息学奥赛一本通(C++版)在线评测系统http://ybt.ssoier.cn:8088/userinfo.php?name=15276768892 1244:和为给定 ...

  2. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  3. 《信息学奥赛一本通提高篇》第6章 组合数学

    例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...

  4. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  5. 【例8】合唱队形(《信息学奥赛一本通第五版》)

    /* [例8]合唱队形(<信息学奥赛一本通第五版>) http://ybt.ssoier.cn:8088/problem_show.php?pid=1264 [问题描述] N位同学站成一排 ...

  6. 信息学奥赛一本通(1281:最长上升子序列)

    1281:最长上升子序列 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 15871     通过数: 8180 [题目描述] 一个数的序列bibi,当b1< ...

  7. 信息学奥赛一本通(1101:不定方程求解)

    1101:不定方程求解 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 18175     通过数: 14383 [题目描述] 给定正整数a,b,c.求不定方程 a ...

  8. 信息学奥赛一本通(1098:质因数分解)

    1098:质因数分解 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 33021     通过数: 16969 [题目描述] 已知正整数n是两个不同的质数的乘积,试 ...

  9. 信息学奥赛一本通(2032:【例4.18】分解质因数)

    2032:[例4.18]分解质因数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 582     通过数: 376 [题目描述] 把一个合数分解成若干个质因数乘积 ...

最新文章

  1. 江苏电信:SOC建设介绍
  2. html中foreach遍历list,foreach遍历----for(object o: list)
  3. 人工智能/数据科学比赛汇总 2019.2
  4. python利用字典实现大侠_python实现字符串和字典的转换
  5. [WM][转]PPC中如何判断网络已经连接或者断开
  6. 从腾讯入职到离职,我仅用了三周:做大数据的同事看不起做报表的
  7. packagereference 里面的资产是怎么回事?
  8. 产品经理入门知识梳理(含思维导图
  9. xshell修改linux编码,xshell更改字符编码,xshell系统设置中文乱码怎么解决
  10. android数据适配器参数,Android 万能适配器BRVAH
  11. Json格式乱码处理方式
  12. ORA-22285: 对不存在的目录或文件进行 FILEOPEN 操作 ORA-06512: 在 SYS.DBMS_LOB, line 523 ORA-06512: 在 line 6 查看错误堆
  13. .ps格式的文件怎么打开?方法:通过GSview打开或将.ps转换成.pdf
  14. 安卓miracast花屏_计算机通过Miracast无线投屏到其他设备,出现卡顿及花屏现象...
  15. C++ - _T含义 C++语言中“_T”是什么意思?
  16. firebox插件制作
  17. 【Appium】逍遥模拟器命令memuc功能大全【命令启动】
  18. Access to XMLHttpRequest at 'XXX' from origin 'XX' has been blocked by CORS policy: No 'Access-Contr
  19. 郭德纲新宠香奈儿 大牌造型盘点
  20. Linux_FastDFS分布式文件系统——搭建

热门文章

  1. rabbitmq 查看消费者_RabbitMQ 和 Kafka 的比较
  2. 程序员恭喜了!10月起逼自己拿下这个证,年薪68万起!
  3. 学妹问我,并发问题的根源到底是什么?
  4. 无需付费,教你IDEA社区版中使用Tomcat
  5. 正式宣战关系型数据库市场,华为宣布开源一款人工智能数据库
  6. 你离BAT之间,只差这一套Java面试题
  7. 少走弯路,给3~5年程序员的唯一一条建议
  8. docker安装Oracle 11g
  9. MMdnn Visualizer网络可视化
  10. 【C++】 67_经典问题分析 五