[NOIP2002 普及组] 产生数
题目描述
给出一个整数 n n n 和 k k k 个变换规则。
规则:
- 一位数可变换成另一个一位数。
- 规则的右部不能为零。
例如: n = 234 , k = 2 n=234,k=2 n=234,k=2。有以下两个规则:
- 2 ⟶ 5 2\longrightarrow 5 2⟶5。
- 3 ⟶ 6 3\longrightarrow 6 3⟶6。
上面的整数 234 234 234 经过变换后可能产生出的整数为(包括原数):
- 234 234 234。
- 534 534 534。
- 264 264 264。
- 564 564 564。
共 4 4 4 种不同的产生数。
现在给出一个整数 n n n 和 k k k 个规则。求出经过任意次的变换( 0 0 0 次或多次),能产生出多少个不同整数。
仅要求输出个数。
输入格式
第一行两个整数 n , k n,k n,k,含义如题面所示。
接下来 k k k 行,每行两个整数 x i , y i x_i,y_i xi,yi,表示每条规则。
输出格式
共一行,输出能生成的数字个数。
样例 #1
样例输入 #1
234 2
2 5
3 6
样例输出 #1
4
提示
对于 100 % 100\% 100% 数据,满足 n < 1 0 30 n \lt 10^{30} n<1030, k ≤ 15 k \le 15 k≤15。
【题目来源】
NOIP 2002 普及组第三题
Scratch实现
程序下载地址
https://download.csdn.net/download/rogeliu/89407304
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容